1 #include "fx.h"
2 
3 
4 /* Generated by reswrap from file folder0a.gif */
5 const unsigned char folder0a[]={
6   0x47,0x49,0x46,0x38,0x39,0x61,0x20,0x00,0x20,0x00,0xf2,0x06,0x00,0x00,0x00,0x00,
7   0x00,0x00,0x99,0x00,0x00,0xff,0x99,0x99,0x99,0xc8,0xb4,0xc8,0xcc,0xcc,0xcc,0xff,
8   0xff,0xff,0xc8,0xb4,0xc8,0x21,0xf9,0x04,0x01,0x00,0x00,0x07,0x00,0x21,0xfe,0x4e,
9   0x54,0x68,0x65,0x20,0x49,0x63,0x6f,0x6e,0x6f,0x6c,0x6f,0x67,0x20,0x3a,0x20,0x54,
10   0x68,0x65,0x20,0x41,0x72,0x74,0x20,0x6f,0x66,0x20,0x56,0x69,0x72,0x74,0x75,0x61,
11   0x6c,0x20,0x4c,0x69,0x74,0x74,0x65,0x72,0x0a,0x20,0x20,0x20,0x68,0x74,0x74,0x70,
12   0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6f,0x7a,0x65,0x6d,0x61,0x69,0x6c,0x2e,0x63,
13   0x6f,0x6d,0x2e,0x61,0x75,0x2f,0x7e,0x61,0x66,0x61,0x63,0x74,0x6f,0x72,0x00,0x2c,
14   0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0xc2,0x00,0x00,0x00,0x00,0x00,0x99,0x00,
15   0x00,0xff,0x99,0x99,0x99,0xc8,0xb4,0xc8,0xcc,0xcc,0xcc,0xff,0xff,0xff,0xc8,0xb4,
16   0xc8,0x03,0xbb,0x78,0xba,0x2c,0xce,0xf0,0x84,0x19,0x5b,0x15,0x95,0xca,0x7a,0x9c,
17   0x00,0x85,0x11,0x86,0x40,0x69,0x96,0x53,0xa0,0xa8,0x5b,0x05,0x8a,0xc0,0x20,0xcf,
18   0x74,0x3d,0x00,0x9c,0x82,0xe9,0xcf,0xce,0xa9,0x2c,0x8e,0xcf,0xf3,0x60,0xb0,0x28,
19   0xc1,0x20,0xe3,0x35,0x82,0x9d,0x9e,0x50,0x5c,0x24,0x4a,0x35,0xe5,0x2e,0xc5,0x4e,
20   0x4e,0xa3,0x84,0x78,0xbc,0xdb,0xee,0xa5,0xf1,0x35,0x1e,0x53,0x5d,0x22,0xe6,0xf4,
21   0x3b,0xb6,0xde,0xcb,0xa6,0x5c,0x44,0x27,0xad,0xae,0x07,0x26,0xcc,0xc6,0x9f,0x49,
22   0xa7,0x05,0x31,0x7d,0x7c,0x7f,0x78,0x86,0x87,0x39,0x5f,0x3e,0x11,0x5c,0x89,0x59,
23   0x65,0x3f,0x70,0x11,0x18,0x90,0x8b,0x8c,0x62,0x60,0x93,0x6d,0x92,0x9a,0x9d,0x66,
24   0x0b,0x98,0x16,0x3c,0x90,0x2b,0x6e,0x40,0x69,0xa4,0xa4,0x77,0x12,0x40,0xa0,0x0b,
25   0x6a,0x7a,0x85,0xa0,0x4a,0x49,0x2e,0x75,0xb7,0x73,0x05,0x68,0x1a,0xb6,0xb9,0xb7,
26   0x68,0xab,0x39,0x00,0xb8,0x82,0x83,0x35,0xb2,0x0a,0xc3,0x23,0xc5,0xc6,0x7e,0xc2,
27   0x7b,0xcd,0x34,0xc8,0x10,0x25,0xd1,0xd2,0x88,0xd8,0xd9,0xda,0x78,0x09,0x00,0x3b
28   };
29 
30 
31 /* Generated by reswrap from file compress0c.gif */
32 const unsigned char compress0c[]={
33   0x47,0x49,0x46,0x38,0x39,0x61,0x20,0x00,0x20,0x00,0xf2,0x06,0x00,0x00,0x00,0x00,
34   0x33,0x99,0x99,0x00,0xff,0xff,0x99,0x99,0x99,0xc8,0xb4,0xc8,0xcc,0xcc,0xcc,0xff,
35   0xff,0xff,0xc8,0xb4,0xc8,0x21,0xf9,0x04,0x01,0x00,0x00,0x07,0x00,0x21,0xfe,0x4e,
36   0x54,0x68,0x65,0x20,0x49,0x63,0x6f,0x6e,0x6f,0x6c,0x6f,0x67,0x20,0x3a,0x20,0x54,
37   0x68,0x65,0x20,0x41,0x72,0x74,0x20,0x6f,0x66,0x20,0x56,0x69,0x72,0x74,0x75,0x61,
38   0x6c,0x20,0x4c,0x69,0x74,0x74,0x65,0x72,0x0a,0x20,0x20,0x20,0x68,0x74,0x74,0x70,
39   0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6f,0x7a,0x65,0x6d,0x61,0x69,0x6c,0x2e,0x63,
40   0x6f,0x6d,0x2e,0x61,0x75,0x2f,0x7e,0x61,0x66,0x61,0x63,0x74,0x6f,0x72,0x00,0x2c,
41   0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0xc2,0x00,0x00,0x00,0x33,0x99,0x99,0x00,
42   0xff,0xff,0x99,0x99,0x99,0xc8,0xb4,0xc8,0xcc,0xcc,0xcc,0xff,0xff,0xff,0xc8,0xb4,
43   0xc8,0x03,0xb4,0x78,0xba,0xdc,0x0e,0x10,0xba,0x49,0x17,0x34,0x05,0xe3,0x02,0x2a,
44   0x08,0x60,0x28,0x06,0x9d,0x12,0x49,0x14,0x60,0x08,0x6b,0xcb,0xbe,0x46,0x79,0x46,
45   0x55,0x3d,0xcd,0x36,0x20,0xec,0x7c,0x2f,0x94,0x07,0x5c,0x6a,0x44,0x04,0x9a,0x4e,
46   0xa9,0x82,0x72,0xc9,0x6c,0x72,0x66,0x28,0xdb,0x6d,0xd6,0x14,0x06,0x9d,0xd8,0x25,
47   0x34,0xca,0x50,0xc1,0xbe,0xab,0xdf,0x71,0x7b,0x73,0x99,0x59,0xc6,0x20,0x72,0x48,
48   0x14,0xa5,0xad,0xec,0x36,0x08,0x08,0x97,0x7a,0x0a,0x03,0xbc,0x3e,0x6d,0x9f,0xd2,
49   0xfa,0x0f,0x74,0x1a,0x4a,0x32,0x7c,0x35,0x51,0x00,0x7a,0x79,0x85,0x5d,0x5b,0x8e,
50   0x0b,0x79,0x03,0x1e,0x8e,0x8e,0x4f,0x50,0x81,0x94,0x7f,0x57,0x91,0x7b,0x53,0x72,
51   0x6e,0x0c,0x8b,0x39,0x3e,0xa4,0x69,0x78,0x86,0x5d,0x9f,0x73,0x0d,0xa2,0x87,0xa4,
52   0x3e,0xa6,0x03,0xa8,0x41,0x67,0x66,0x86,0xad,0x1e,0xaa,0x24,0x0d,0xa7,0xa3,0xaf,
53   0xb0,0x90,0x1c,0x87,0x99,0x7f,0x2a,0x19,0xc7,0xc2,0x0d,0xc4,0x50,0x96,0x75,0x63,
54   0xcb,0x28,0xbd,0x80,0x52,0xce,0x09,0x00,0x3b
55   };
56 
57 
58 // Main Window
59 class ShutterWindow : public FXMainWindow {
60 
61   // Macro for class hierarchy declarations
62   FXDECLARE(ShutterWindow)
63 
64 public:
65 
66   FXVerticalFrame *listFrame;
67   FXVerticalFrame *buttonFrame;
68   FXShutter       *shutterFrame;
69   FXTreeList      *tree;
70   FXGIFIcon       *foldericon;
71   FXGIFIcon       *compressicon;
72 
73 protected:
ShutterWindow()74   ShutterWindow(){}
75 
76 public:
77 
78   // Message handlers
79   long onCmdExit(FXObject*,FXSelector,void*);
80 
81 public:
82 
83   // Constructor
84   ShutterWindow(FXApp* a);
85 
86   // Initialize
87   virtual void create();
88 
89   virtual ~ShutterWindow();
90   };
91 
92 
93 
94 // Macro class hierarchy implementation
95 FXIMPLEMENT(ShutterWindow,FXMainWindow,NULL,0)
96 
97 
98 
99 // Construct an application
ShutterWindow(FXApp * a)100 ShutterWindow::ShutterWindow(FXApp* a):FXMainWindow(a,"Shutter Widget Test",NULL,NULL,DECOR_ALL,0,0,600,600){
101   FXHorizontalFrame *contents;
102   foldericon=new FXGIFIcon(getApp(),folder0a);
103   compressicon=new FXGIFIcon(getApp(),compress0c);
104   FXShutterItem *shutterItem = 0;
105 
106   contents=new FXHorizontalFrame(this,LAYOUT_FILL_X|LAYOUT_FILL_Y);
107   listFrame = new FXVerticalFrame(contents,LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10);
108   new FXLabel(listFrame,"Tree List",NULL,JUSTIFY_CENTER_X|LAYOUT_FILL_X);
109   new FXHorizontalSeparator(listFrame,SEPARATOR_GROOVE|LAYOUT_FILL_X);
110   tree = new FXTreeList(listFrame,NULL,0,FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_RIGHT|TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES);
111 
112   buttonFrame=new FXVerticalFrame(contents,FRAME_RAISED|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10);
113   new FXLabel(buttonFrame,"Button Frame",NULL,JUSTIFY_CENTER_X|LAYOUT_FILL_X);
114   new FXHorizontalSeparator(buttonFrame,SEPARATOR_RIDGE|LAYOUT_FILL_X);
115 
116   shutterFrame = new FXShutter(buttonFrame,NULL,0,FRAME_SUNKEN|LAYOUT_FILL_Y|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,0,0,0,0,0,0);
117   shutterItem = new FXShutterItem(shutterFrame,"Test 1",NULL,LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10,10,10);
118   new FXButton(shutterItem->getContent(),FXString::null,foldericon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
119   new FXButton(shutterItem->getContent(),FXString::null,compressicon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
120   new FXButton(shutterItem->getContent(),FXString::null,compressicon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
121   new FXButton(shutterItem->getContent(),FXString::null,foldericon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
122 
123   shutterItem = new FXShutterItem(shutterFrame,"Test 2",NULL,LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10,10,10);
124   new FXButton(shutterItem->getContent(),FXString::null,foldericon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
125   new FXButton(shutterItem->getContent(),FXString::null,compressicon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
126   new FXButton(shutterItem->getContent(),FXString::null,foldericon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
127 
128   shutterItem = new FXShutterItem(shutterFrame,"Test 3",NULL,LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10,10,10);
129   new FXButton(shutterItem->getContent(),FXString::null,foldericon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
130   new FXButton(shutterItem->getContent(),FXString::null,compressicon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
131 
132   shutterItem = new FXShutterItem(shutterFrame,"Test 4",NULL,LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,10,10,10,10);
133   new FXButton(shutterItem->getContent(),FXString::null,compressicon,getApp(),FXApp::ID_QUIT,FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,0,0,0,0,10,10,5,5);
134   }
135 
136 
~ShutterWindow()137 ShutterWindow::~ShutterWindow(){
138   delete foldericon;
139   delete compressicon;
140   }
141 
142 // Create and initialize
create()143 void ShutterWindow::create(){
144 
145   // Create the windows
146   FXMainWindow::create();
147 
148   // Make the main window appear
149   show(PLACEMENT_SCREEN);
150   }
151 
152 
153 // Here we begin
main(int argc,char * argv[])154 int main(int argc,char *argv[]){
155 
156   // Make application
157   FXApp application("Shutter","FoxTest");
158 
159   // Open the display
160   application.init(argc,argv);
161 
162   // Make window
163   new ShutterWindow(&application);
164 
165   // Create the application's windows
166   application.create();
167 
168   // Run the application
169   return application.run();
170   }
171 
172 
173