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

Subversion Repositories ezidebug

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 EziDebug
#ifndef TOOLWINDOW_H
2
#define TOOLWINDOW_H
3
 
4
#include <QWidget>
5
#include <QSystemTrayIcon>
6
 
7
#include "miniwindow.h"
8
#include "listwindow.h"
9
//#include "ezidebugprj.h"
10
#include "projectsetwizard.h"
11
 
12
 
13
QT_BEGIN_NAMESPACE
14
class QAction;
15
class QLabel;
16
class Button;
17
class QProgressBar;
18
class QMenu;
19
class QSystemTrayIcon;
20
class EziDebugPrj ;
21
class QTimer ;
22
QT_END_NAMESPACE
23
 
24
class ToolWindow : public QWidget
25
{
26
    Q_OBJECT
27
public:
28
 
29
    explicit ToolWindow(QWidget *parent = 0);
30
//    bool eventFilter(QObject *, QEvent *);
31
    ~ToolWindow();
32
 
33
//    //列表窗口是否隐藏
34
//    void setListWindowHiddenFlag(bool flag);
35
//    bool getListWindowHiddenFlag();
36
//    //列表窗口是否吸附在工具栏窗口
37
      void  setListWindowAdsorbedFlag(bool flag);
38
      const EziDebugPrj* getCurrentProject(void) const; // 获取当前工程指针
39
      void  setCurrentProject(EziDebugPrj*);  // 设置当前工程指针
40
      void  listwindowInfoInit(void) ;
41
 
42
 
43
//    bool getListWindowAdsorbedFlag();
44
    //void getListWindowPointer(QWidget *listWindow);
45
 
46
signals:
47
     void updateTreeView(EziDebugInstanceTreeItem* item);
48
    //void closeToolWindow();//关闭本窗口
49
    //void hideListWindow();
50
    //void showListWindow();
51
    //void moveListWindow(const QPoint &p, QPoint bottomLeft, QPoint bottomRight);//移动ListWindow到点p
52
    //void toMiniMode();  //普通模式转换到迷你模式
53
 
54
public slots:
55
    //右上角标题栏按钮
56
    void minimize();    //最小化
57
    void toMiniMode();  //转换到迷你模式
58
    void close();       //关闭
59
    void updateIndicate(); // 更新提示
60
    void fastUpdate();    // 快速更新
61
    void changeUpdatePic() ;
62
    void changeProgressBar(int value) ;
63
 
64
    void about();//关于
65
    void help();//帮助
66
 
67
    //从最小化还原
68
    void showNormal();
69
    //右侧中部按钮,打开toolwindow下方的列表窗口
70
    void showListWindow();
71
    //系统托盘相关函数
72
    void iconActivated(QSystemTrayIcon::ActivationReason reason);
73
 
74
    //迷你模式
75
    void toNormalMode();//转换到普通模式
76
    void miniWindowMinimized();//最小化时修改相应菜单选项
77
    void proSetting(); // 工程设置
78
    void proUpdate() ; // 工程更新
79
    //void proPartlyUpdate();// 工程部分更新
80
    int  deleteScanChain(); // 删除一条扫描链
81
    void addScanChain();    // 添加一条扫描链
82
    int  deleteAllChain();  // 删除所有扫描链
83
    void undoOperation(); // 取消上一步操作
84
    void testbenchGeneration(); // 生成testbench
85
 
86
    //    改为由listWindow中的slot执行//四个工程操作对应的按钮
87
    //    void proSetting();
88
    //    void proUpdate();
89
    //    void deleteChain();
90
    //    void testbenchGeneration();
91
 
92
 
93
 
94
    void progressBarDemo();//进度条演示
95
    void listWindowMouseReleased(const QRect rect);//listWindow的窗口移动或缩放后,判断listWindow是否吸附
96
 
97
protected:
98
 
99
 
100
private:
101
    void createActions();   //创建右键菜单的选项
102
    void createButtons();   //创建按钮
103
    Button *createToolButton(const QString &toolTip, const QString &iconstr,
104
                             const QSize &size, const QObject * receiver, const char *member);
105
    void contextMenuEvent(QContextMenuEvent *event);//自定义右键菜单
106
    void mousePressEvent(QMouseEvent *);        //自定义一个鼠标点击事件函数
107
    void mouseMoveEvent(QMouseEvent *);         //自定义一个鼠标拖动事件函数
108
    void paintEvent(QPaintEvent *);             //自定义一个刷屏事件函数
109
    void showEvent(QShowEvent*);                //自定义一个窗口显示事件函数
110
    void readSetting();                         //读取上次软件保存的工程信息
111
    void writeSetting();                        //保存软件打开工程的信息
112
 
113
 
114
    //系统托盘相关函数
115
    void CreatTrayMenu();
116
    void creatTrayIcon();
117
    void closeEvent(QCloseEvent *event);
118
 
119
 
120
 
121
    //另外两个窗口
122
    MiniWindow *miniWindow;//迷你模式下的主窗口和状态栏
123
    ListWindow *listWindow;//普通模式下的工具栏窗口
124
    ProjectSetWizard * m_proSetWiz;//工程设置向导
125
//  EziDebugPrj* m_pcurrentPrj ;
126
 
127
    //系统托盘及其菜单
128
    QSystemTrayIcon *myTrayIcon;
129
    QAction *miniSizeAction;
130
    QAction *maxSizeAction;
131
    QAction *restoreWinAction;
132
    QAction *quitAction;
133
    QAction *aboutAction;
134
    QAction *helpAction;
135
    QMenu *myMenu;
136
 
137
 
138
 
139
    //右键菜单的选项
140
    QAction *exitAct;//退出
141
    QAction *minimizeAct;   //最小化
142
    QAction *toMiniModeAct; //转换到迷你模式模式
143
    QAction *aboutAct;
144
    QAction *helpAct;
145
 
146
    //工具栏按钮
147
    Button *proSettingButton;  //工程设置
148
    Button *proUpdateButton;   //更新
149
    Button *proPartlyUpdateButton;   //部分更新
150
    Button *deleteChainButton; //删除
151
    Button *testbenchGenerationButton;//testbench生成
152
    Button *proUndoButton;   //撤销(undo)
153
    QPushButton *updatehintButton ; // 提示更新按钮
154
    QLabel * m_iplogolabel ;  // 放logo
155
 
156
    EziDebugPrj *currentPrj ;
157
 
158
 
159
    //右上角标题栏按钮
160
    Button *minimizeButton;   //最小化
161
    Button *miniModeButton;//迷你模式
162
    Button *exitButton;  //退出
163
 
164
    //进度条
165
    QProgressBar *progressBar ;
166
 
167
    //打开ListWindow
168
    Button *showListWindowButton;
169
 
170
    //定义一个QPoint的成员变量,记录窗口移动的位置
171
    QPoint dragPosition;
172
    QPoint oriGlobalPos;//鼠标左键按下的位置
173
 
174
//    bool isNormalListWindowHidden;//普通模式下,ToolWindow不隐藏时,列表窗口是否隐藏
175
    bool isListWindowAdsorbed;//普通模式下,列表界面是否吸附在工具栏窗口的下方
176
//    QWidget *listWindowPointer;//指向ListWindow的指针
177
    bool isNormalMode;//true--Normal Mode,false--Mini Mode
178
    bool isNeededUpdate ;
179
 
180
    QTimer *iChangeUpdateButtonTimer ;
181
 
182
 
183
 
184
};
185
 
186
#endif // TOOLWINDOW_H

powered by: WebSVN 2.1.0

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