1 |
gpertea |
45 |
#ifndef CLVIEWMAINWIN_H |
2 |
|
|
#define CLVIEWMAINWIN_H |
3 |
|
|
#define COL_RAMP_SIZE 16 |
4 |
|
|
#define NUM_GROUPS 24 |
5 |
|
|
|
6 |
|
|
#include "fx.h" |
7 |
|
|
|
8 |
|
|
class FXSplashDlg; |
9 |
|
|
// Main Window |
10 |
|
|
class MainWindow : public FXMainWindow { |
11 |
|
|
FXDECLARE(MainWindow) |
12 |
|
|
protected: |
13 |
|
|
// Member data |
14 |
|
|
FXSplashDlg* splashmsg; |
15 |
|
|
FXStatusBar* statusbar; |
16 |
|
|
FXMenuBar* menubar; |
17 |
|
|
FXMenuPane* filemenu; |
18 |
|
|
FXMenuPane* helpmenu; |
19 |
|
|
FXMenuPane* windowmenu; |
20 |
|
|
FXMDIClient* mdiclient; // MDI Client area |
21 |
|
|
FXMDIMenu* mdimenu; // MDI Window Menu |
22 |
|
|
FXGIFIcon* mdiicon; // MDI Icon |
23 |
|
|
FXComboBox* filter; |
24 |
|
|
FXDirList* dirlist; |
25 |
|
|
bool constructing; |
26 |
|
|
//color tables: |
27 |
|
|
FXColor baseColors[6]; //base colors |
28 |
|
|
FXColor seqColors[12]; |
29 |
|
|
/* |
30 |
|
|
buffer for color array to pass to |
31 |
|
|
the Seq Paint method |
32 |
|
|
0 = seq color |
33 |
|
|
1 = seq highlight |
34 |
|
|
2 = seq shadow |
35 |
|
|
3 = seqtext color |
36 |
|
|
4 = seqtrim color |
37 |
|
|
5 = seq range color |
38 |
|
|
6 = seq select color |
39 |
|
|
7 = alternate seq color (ET) |
40 |
|
|
8 = inter-segment connector color |
41 |
|
|
9 = internal trim color |
42 |
|
|
10 = major consensus splice site |
43 |
|
|
11 = minor consensus splice site |
44 |
|
|
*/ |
45 |
|
|
|
46 |
|
|
FXColor matchColors[COL_RAMP_SIZE+1]; //read luminance ramp |
47 |
|
|
FXColor ctgQuals[COL_RAMP_SIZE+1]; //contig luminance ramp |
48 |
|
|
FXColor grpColors[2][NUM_GROUPS+1]; //group colors |
49 |
|
|
protected: |
50 |
|
|
void initColors(); |
51 |
|
|
MainWindow(){} |
52 |
|
|
public: |
53 |
|
|
// Message handlers |
54 |
|
|
long onCmdAbout(FXObject*,FXSelector,void*); |
55 |
|
|
long onRandomLayout(FXObject*,FXSelector,void*); |
56 |
|
|
long onCmdFilter(FXObject*,FXSelector,void* ptr); |
57 |
|
|
long onCmdFileDlg(FXObject*,FXSelector,void* ptr); |
58 |
|
|
long onCmdTreeList(FXObject*,FXSelector,void* ptr); |
59 |
|
|
long onMaxRestore(FXObject* obj,FXSelector sel,void* ptr); |
60 |
|
|
void splash(const char* message=NULL); |
61 |
|
|
public: |
62 |
|
|
void setCurrentPattern(FXint n); |
63 |
|
|
void newMDIChild(const char* filename=NULL); |
64 |
|
|
FXString getPatterns() const; |
65 |
|
|
FXint getCurrentPattern() {return filter->getCurrentItem();} |
66 |
|
|
void setPatterns(const FXString& patterns); |
67 |
|
|
FXString getPatterns(); |
68 |
|
|
// Messages |
69 |
|
|
enum { |
70 |
|
|
ID_ABOUT=FXMainWindow::ID_LAST, |
71 |
|
|
ID_FILEFILTER, |
72 |
|
|
ID_TREELIST, |
73 |
|
|
ID_FILEOPEN, |
74 |
|
|
ID_RANDOM, |
75 |
|
|
ID_MAXIMIZE, |
76 |
|
|
ID_CLOSEALL |
77 |
|
|
}; |
78 |
|
|
public: |
79 |
|
|
MainWindow(FXApp* a); |
80 |
|
|
long onCmdCloseAll(FXObject*,FXSelector,void*); |
81 |
|
|
virtual void create(); |
82 |
|
|
virtual ~MainWindow(); |
83 |
|
|
}; |
84 |
|
|
|
85 |
|
|
/******************************************* |
86 |
|
|
splash/dialog to use for various purposes |
87 |
|
|
********************************************/ |
88 |
|
|
class FXSplashDlg : public FXDialogBox { |
89 |
|
|
FXDECLARE(FXSplashDlg) |
90 |
|
|
protected: |
91 |
|
|
FXVerticalFrame* contents; |
92 |
|
|
FXLabel *msg; |
93 |
|
|
private: |
94 |
|
|
FXSplashDlg(){} |
95 |
|
|
public: |
96 |
|
|
FXSplashDlg(FXWindow* owner, const char* message); |
97 |
|
|
virtual ~FXSplashDlg(); |
98 |
|
|
}; |
99 |
|
|
|
100 |
|
|
#endif |