]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/samples/fl/fl_demo2/fl_demo2.h
Added fl (frame layout) to wxWindows, from source tidied by Hans Van Leemputten ...
[wxWidgets.git] / contrib / samples / fl / fl_demo2 / fl_demo2.h
diff --git a/contrib/samples/fl/fl_demo2/fl_demo2.h b/contrib/samples/fl/fl_demo2/fl_demo2.h
new file mode 100644 (file)
index 0000000..c9cf31d
--- /dev/null
@@ -0,0 +1,160 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        No names yet.
+// Purpose:     Contrib. demo
+// Author:      Aleksandras Gluchovas
+// Modified by:
+// Created:     04/11/98
+// RCS-ID:      $Id$
+// Copyright:   (c) Aleksandras Gluchovas
+// Licence:    wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __FLDEMO_G__
+#define __FLDEMO_G__
+
+// ID for the menu commands
+
+#define MINIMAL_QUIT   1
+#define MINIMAL_ABOUT 102
+
+#define ID_LOAD      103
+#define ID_STORE     104
+#define ID_AUTOSAVE  105
+//#define ID_SETTINGS  106
+#define ID_REMOVE    107
+#define ID_REMOVEALL 108
+#define ID_RECREATE  109
+#define ID_ACTIVATE  110
+#define ID_FIRST        111
+#define ID_SECOND    112
+#define ID_THIRD     113
+
+#define ID_SAY_ITSOK 114
+#define ID_BTN_YES   115
+#define ID_BTN_NO    116
+#define ID_BTN_ESC   117
+
+#define MAX_LAYOUTS   3
+
+#define FIRST_LAYOUT  0
+#define SECOND_LAYOUT 1
+#define THIRD_LAYOUT  2
+
+class wxFrameLayout;
+class wxObjectStorage;
+
+// FOR NOW::
+typedef wxPanel MyTestPanel;
+
+// Define a new application type
+
+class MyApp: public wxApp
+{ 
+public:
+    bool OnInit(void);
+};
+
+// Define a new frame type
+
+class MyFrame: public wxFrame
+{ 
+protected:
+    
+    wxFrameLayout* mLayouts[MAX_LAYOUTS];
+    
+    wxFrameLayout* mpNestedLayout;
+    wxFrameLayout* mpAboutBoxLayout;
+    
+    int            mActiveLayoutNo;   
+    bool           mAutoSave;
+    bool           mSavedAlready;
+    
+    // container windows:
+    
+    wxTextCtrl*    mpClntWindow;
+    wxPanel*       mpInternalFrm;
+    
+    wxImageList    mImageList;
+    
+    wxFrame       mAboutBox;
+    
+    // helpers for control-creation
+    
+    wxTextCtrl* CreateTxtCtrl ( const wxString& txt = "wxTextCtrl", wxWindow* parent = NULL  );
+    wxTreeCtrl* CreateTreeCtrl( const wxString& label = "TreeCtrl" );
+    wxChoice*   CreateChoice  ( const wxString& txt = "Choice1" );
+    wxButton*   CreateButton  ( const wxString& label = "wxButton", wxWindow* pParent = NULL, long id = ID_SAY_ITSOK );
+    
+    // helpers for layout-creation
+    
+    void AddSearchToolbars( wxFrameLayout& layout, wxWindow* pParent );
+    wxWindow* CreateDevLayout( wxFrameLayout& layout, wxWindow* pParent );
+    
+    void DropInSomeBars( int layoutNo );
+    void CreateLayout( int layoutNo );
+    void RemoveLayout( int layoutNo );
+    
+    void InitAboutBox();
+    
+    void ActivateLayout( int layoutNo );
+    
+public: /* public */
+    
+    MyFrame( wxFrame *frame, char *title, int x, int y, int w, int h);
+    
+    ~MyFrame();
+    
+    void SyncMenuBarItems();
+    
+    // event handlers
+    
+    bool OnClose(void);
+    
+    void OnLoad( wxCommandEvent& event );
+    void OnStore( wxCommandEvent& event );
+    void OnAutoSave( wxCommandEvent& event );
+    void OnQuit(wxCommandEvent& event);
+    void OnAbout(wxCommandEvent& event);
+    //void OnSettings( wxCommandEvent& event );
+    void OnRemove( wxCommandEvent& event );
+    void OnRemoveAll( wxCommandEvent& event );
+    void OnRecreate( wxCommandEvent& event );
+    void OnFirst( wxCommandEvent& event );
+    void OnSecond( wxCommandEvent& event );
+    void OnThird( wxCommandEvent& event );
+    
+    void OnSayItsOk( wxCommandEvent& event );
+    void OnBtnYes( wxCommandEvent& event );
+    void OnBtnNo( wxCommandEvent& event );
+    void OnBtnEsc( wxCommandEvent& event );
+    
+    void OnChar( wxKeyEvent& event );
+    
+    DECLARE_EVENT_TABLE()   
+};
+
+// Define a new button type, StartButton95 (Just for fun)
+
+class StartButton95 : public wxPanel
+{
+    DECLARE_DYNAMIC_CLASS( StartButton95 )
+        
+    bool m_bPressed;
+    wxBitmap m_PBmp;
+    wxBitmap m_DBmp;
+    
+public:
+    StartButton95(void) : m_bPressed(FALSE) {}
+    
+    StartButton95(wxWindow* parent) 
+        : m_bPressed(FALSE) { wxPanel::Create(parent,-1); }
+    
+    void OnMouseDown( wxMouseEvent& event );
+    void OnMouseUp( wxMouseEvent& event );
+    void OnPaint( wxPaintEvent& event );
+    
+    DECLARE_EVENT_TABLE();
+};
+
+#endif
+