summaryrefslogtreecommitdiff
path: root/examples/ConfigViewer/MainFrame.h
blob: 1ae7725fe80881f433961809875d37cffa7b8d94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* -*- C++ -*- */
// $Id$

#ifndef _ConfigurationViewer_MainFrame_H
#define _ConfigurationViewer_MainFrame_H

class ConfigTreeCtrl;
class ValueListCtrl;

enum
{
    // menu items
    QUIT = 1,
    ABOUT,
    FILE_NEW_PERSISTENT_HEAP,
    FILE_NEW_TRANSIENT_HEAP,
    FILE_OPEN_PERSISTENT_HEAP,
    FILE_OPEN_REGISTRY,
    FILE_EXPORT,
    FILE_IMPORT,
    LEFT_SASH,
    FRAME_TREE
};


class MainFrame : public wxFrame
{
public:
  ///////////////////////////////////////////
  // Initializers
  ///////////////////////////////////////////
  MainFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
  virtual ~MainFrame();

  ///////////////////////////////////////////
  // Methods
  ///////////////////////////////////////////
  static MainFrame* Instance();
  void OnQuit(wxCommandEvent& event);
  void OnAbout(wxCommandEvent& event);
  void OnFileNewPersistentHeap(wxCommandEvent& event);
  void OnFileNewTransientHeap(wxCommandEvent& event);
  void OnFileOpenPersistentHeap(wxCommandEvent& event);
  void OnFileOpenRegistry(wxCommandEvent& event);
  void OnFileExport(wxCommandEvent& event);
  void OnFileImport(wxCommandEvent& event);
  void OnSize(wxSizeEvent& event);

  ///////////////////////////////////////////
  // Attribute Accessors
  ///////////////////////////////////////////
  ACE_Configuration* GetpConfig() {return m_pConfig;};
protected:
  // Not Used
  MainFrame(const MainFrame& RHS);
  const MainFrame& operator=(const MainFrame& RHS);

  // Operations
  void SetNewConfig(ACE_Configuration* pConfig);

  // Attributes
  wxSplitterWindow*         m_pSplitter;
  ConfigTreeCtrl*           m_pTreeCtrl;
  ValueListCtrl*            m_pListCtrl;
private:
  DECLARE_EVENT_TABLE()
  ACE_Configuration*        m_pConfig;
  static MainFrame*         m_pInstance;
};

#endif