1 |
#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 |