ToolbarTool.h

00001 
00009 #ifndef _ToolbarTool_h
00010 #define _ToolbarTool_h
00011 
00012 // SYSTEM INCLUDES
00013 //
00014 
00015 // PROJECT INCLUDES
00016 //
00017 
00018 // LOCAL INCLUDES
00019 //
00020 #include "../CountedPtr.h"
00021 
00022 #include "ClickToolAction.h"
00023 #include "ToggleToolAction.h"
00024 
00025 // FORWARD REFERENCES
00026 //
00027 
00028 class ToolbarTool
00029 {
00030 public:
00031 
00033     enum GroupType {
00034         SET_VIEW        = 0,
00035         LAYER_SPECIFIC,     
00036 
00037         GROUP_MAX
00038     };
00039 
00040 // LIFECYCLE
00041 
00044     ToolbarTool(std::auto_ptr<ClickToolAction>  apAction,
00045                 GroupType                       group,
00046                 const wxBitmap&                 bitmap,
00047                 const wxString&                 label,
00048                 const wxString&                 tip);
00049 
00052     ToolbarTool(std::auto_ptr<ToggleToolAction> apAction,
00053                 GroupType                       group,
00054                 const wxBitmap&                 bitmap,
00055                 const wxString&                 label,
00056                 const wxString&                 tip);
00057 
00060     ToolbarTool(const ToolbarTool& from);
00061 
00064     ~ToolbarTool(void);
00065 
00066 
00067 // OPERATORS
00068 
00071     ToolbarTool& operator=(const ToolbarTool& from);
00072 
00073 // OPERATIONS
00074 // ACCESS
00075 
00079     CountedPtr<ClickToolAction>     ClickAction() const;
00080 
00084     CountedPtr<ToggleToolAction>    ToggleAction() const;
00085 
00088     const wxBitmap&     Bitmap() const;
00089 
00092     const wxString&     Label() const;
00093 
00096     GroupType           Group() const;
00097 
00100     const wxString&     Tip() const;
00101 
00104     wxItemKind          Type() const;
00105 
00106 // INQUIRY
00107 
00108 protected:
00109 private:
00110     wxItemKind  mButtonType;    
00111 
00115     CountedPtr<ClickToolAction>     mcpClickAction;
00116 
00120     CountedPtr<ToggleToolAction>    mcpToggleAction;
00121 
00122     GroupType   mGroup;
00123 
00124     wxBitmap    mBitmap;
00125     wxString    mLabel;
00126     wxString    mTip;
00127 };
00128 
00129 // INLINE METHODS
00130 //
00131 
00132 // EXTERNAL REFERENCES
00133 //
00134 
00135 #endif  // _ToolbarTool_h

Wygenerowano Fri Sep 29 21:04:49 2006 dla EduOptim2 programem  doxygen 1.4.6