OpenCores
URL https://opencores.org/ocsvn/ezidebug/ezidebug/trunk

Subversion Repositories ezidebug

[/] [ezidebug/] [trunk/] [EziDebug_src/] [miniwindow.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 EziDebug
#ifndef MINIWINDOW_H
2
#define MINIWINDOW_H
3
 
4
#include <QWidget>
5
#include "button.h"
6
 
7
QT_BEGIN_NAMESPACE
8
class QAction;
9
class QLabel;
10
class QPushButton;
11
class QPoint;
12
QT_END_NAMESPACE
13
 
14
class MiniWindow : public QWidget
15
{
16
    Q_OBJECT
17
public:
18
    explicit MiniWindow(QWidget *parent = 0);
19
    bool statusWidgetHidden();
20
    void setStatusWidgetHidden(bool);
21
    enum enum_Direction{
22
        eNone = 0,
23
        eRight,
24
        eLeft};
25
 
26
    //工具栏按钮  
27
    Button *proSettingButton;  //工程设置
28
    Button *proUpdateButton;   //更新
29
    Button *proPartlyUpdateButton;   //部分更新
30
    Button *deleteChainButton; //删除
31
    Button *testbenchGenerationButton;//testbench生成
32
    Button *proUndoButton;   //撤销(undo)
33
 
34
    //右上角标题栏按钮
35
    QPushButton *minimizeButton;    //最小化
36
    QPushButton *showStatusButton;  //显示运行状态//已删除
37
    QPushButton *normalModeButton;  //普通模式
38
    QPushButton *exitButton;        //退出
39
signals:
40
    void toNormalMode();
41
 
42
public slots:
43
    //右上角标题栏按钮
44
    void minimize();
45
    void showStatusWedgit();
46
    void close();
47
 
48
protected:
49
    void contextMenuEvent(QContextMenuEvent *event);
50
 
51
private slots:
52
//    //四个工程操作对应的按钮//在类toolwindow中实现
53
//    void proSetting();
54
//    void proUpdate();
55
//    void deleteChain();
56
//    void testbenchGeneration();
57
 
58
private:
59
    void createActions();   //创建右键菜单的选项
60
    void createButtons();   //创建按钮
61
    //仅作显示用,connect在类toolwindow中完成
62
    //QPushButton *createToolButton(const QString &toolTip, const QIcon &icon, const QSize &size, const char *member);
63
    Button *createToolButton(const QString &toolTip, const QString &iconstr,const QSize &size);
64
 
65
    void mousePressEvent(QMouseEvent *);        //自定义一个鼠标点击事件函数
66
    void mouseMoveEvent(QMouseEvent *);         //自定义一个鼠标拖动事件函数
67
//    void mouseReleaseEvent(QMouseEvent *event);
68
//    //void paintEvent(QPaintEvent *);             //自定义一个刷屏事件函数
69
//    void resizeEvent(QResizeEvent *event);      //自定义一个改变窗口大小事件函数,随着窗体变化而设置背景
70
 
71
    //void mouseDoubleClickEvent(QMouseEvent *event);//自定义一个鼠标双击事件函数
72
//    void SetCursorStyle(enum_Direction direction);//设置鼠标样式
73
//    int PointValid(int x);//判断鼠标所在位置在当前窗口的哪个边界(左右)上
74
//    void SetDrayMove(int nXGlobal,enum_Direction direction);//设置鼠标拖动的窗口位置信息
75
 
76
    //右键菜单的选项
77
    QAction *exitAct;//退出
78
    QAction *minimizeAct;   //最小化
79
    QAction *toNormalModeAct; //转换到普通模式模式
80
 
81
 
82
    //定义一个QPoint的成员变量,记录窗口移动的位置
83
    QPoint dragPosition;
84
 
85
    //迷你模式下的状态栏
86
    QWidget *statusWidget;
87
    QLabel *statusLabel;//运行状态
88
    bool isMiniStatusLabelHidden;//mini模式下状态栏是否隐藏
89
 
90
    //窗口缩放需要的变量
91
    QPixmap backgroundPix;//窗口背景图片
92
    QPoint pointPressGlobal;//记录按下鼠标左键时的全局位置
93
    QPoint pointMove;//记录鼠标移动后的全局位置
94
    QRect rectRestoreWindow;//记录当前窗口的大小和位置
95
    bool isLeftButtonPress;//是否点击鼠标左键
96
    bool isWindowMovement ;//是否是窗口移动
97
    enum_Direction eDirection;//记录鼠标在那个方向
98
 
99
 
100
    //各个Action和Button调用的对话框
101
 
102
 
103
};
104
 
105
#endif // MINIWINDOW_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.