Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

SherpaFrame.h

Go to the documentation of this file.
00001 
00002 // Name:        SherpaFrame.h
00003 // Purpose:     
00004 // Author:      Joe Yates
00005 // Modified by:
00006 // Created:     11/10/2004
00007 // RCS-ID:      $Id: SherpaFrame.h,v 1.1.1.1 2006/01/24 22:13:19 titusd Exp $
00008 // Copyright:   (c) BID Snc
00009 // License:     BSD license (see the file 'LICENSE.txt')
00011 
00012 #ifndef __SherpaFrame_h__
00013 #define __SherpaFrame_h__
00014 
00015 #include "DirectoryTree.h"
00016 #include "DirectoryView.h"
00017 #include "Wastebin.h"
00018 #include "UndoStack.h"
00019 #include "SherpaEvent.h"
00020 
00021 #define SETTING_INITIAL_PATH            wxT("/SherpaFrame/InitialPath")
00022 #define SETTING_SHERPAFRAME_WIDTH       wxT("/SherpaFrame/Width")
00023 #define SETTING_SHERPAFRAME_HEIGHT      wxT("/SherpaFrame/Height")
00024 #define SETTING_SHERPAFRAME_LEFT        wxT("/SherpaFrame/Left")
00025 #define SETTING_SHERPAFRAME_TOP         wxT("/SherpaFrame/Top")
00026 #define SETTING_SHERPAFRAME_SHOWHIDDEN  wxT("/SherpaFrame/ShowHidden")
00027 
00028 class SherpaFrame: public wxFrame
00029   {
00030   // friends, classes, enums and types
00031 
00032   // Constructors/destructors
00033   public:
00034     SherpaFrame(const wxString& sTitle);
00035     ~SherpaFrame();
00036 
00037   // Operators
00038 
00039   // Slots
00040   protected:
00041     void OnKeyDown(wxKeyEvent& evt);
00042     void OnExit(wxCommandEvent& evt);
00043 
00044     void mnuFileEmptyWastebin_Click(wxCommandEvent& evt);
00045     void mnuEditUndo_Click(wxCommandEvent& evt);
00046     void mnuEditRedo_Click(wxCommandEvent& evt);
00047     void mnuEditPreferences_Click(wxCommandEvent& evt);
00048     void mnuViewShowHidden_Click(wxCommandEvent& evt);
00049     void mnuDebugWastebin_Click(wxCommandEvent& evt);
00050     void mnuDebugUndo_Click(wxCommandEvent& evt);
00051 
00052     void txtPath_Change(wxCommandEvent& evt);
00053     void txtPath_Enter(wxCommandEvent& evt);
00054 
00055     void OnSetPath(shSetPathEvent& evt);
00056     void OnDelete(shDeleteEvent& evt);
00057     void OnToWastebin(shToWastebinEvent& evt);
00058     void OnCreate(shCreateEvent& evt);
00059     void OnRename(shRenameEvent& evt);
00060   
00061   // Methods
00062   private:
00063     // The window
00064     void      CreateMenus();
00065     void      CreateWidgets();
00066     //void      DoSize();
00067     void      SetShowHidden(bool bShowHidden, bool bUpdate);
00068     void      SetCaption(const wxString& sPath);
00069   
00070     // State
00071     void      SetPath(const wxString& sPath);
00072   
00073     // Undo
00074     int       SendToWastebin(const wxString& sPathName);
00075     void      Undo();
00076     void      Redo();
00077     void      SetUndoEnabled();
00078 
00079     // Settings
00080     void      LoadSettings();
00081     void      SaveSettings();
00082 
00083   // Variables
00084   protected:
00085   private:
00086     wxString            m_sTitle;
00087     wxTextCtrl *        m_txtPath;
00088     wxSplitterWindow *  m_spl;
00089     DirectoryTree *     m_tre;
00090     DirectoryView *     m_drv;
00091     Waste::Bin *        m_bin;
00092     Undo::UndoStack     m_undo;
00093   
00094     bool                m_bShowHidden;
00095     bool                m_bUpdating;
00096     
00097   DECLARE_NO_COPY_CLASS(SherpaFrame)
00098   DECLARE_EVENT_TABLE()
00099   };
00100 
00101 #endif // ndef __SherpaFrame_h__

Generated on Wed Jan 25 08:14:45 2006 for Sherpa by doxygen 1.3.6