]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxGimmickView.h
Added attribute selection functionality.
[creaImageIO.git] / src2 / creaImageIOWxGimmickView.h
index fd22e481f08372c4c3879bebae8875d65fd8c2f1..074a571b7f5d0a83ecd87715fcefc2c85daf35f2 100644 (file)
@@ -5,8 +5,10 @@
 
 #include <creaImageIOGimmickView.h>
 #include <creaImageIOWxViewer.h>
+#include <creaImageIOWxGimmickTools.h>
+#include <creaImageIOListener.h>
 #include <creaWx.h>
-
+#include "wx/wx.h"
 #include <wx/splitter.h>
 #include <wx/toolbar.h> 
 #include <wx/tbarbase.h> 
@@ -63,11 +65,39 @@ namespace creaImageIO
     void AddIgnoreFile(tree::Node* toRemove);
     ///Resets the default image
     void ClearSelection();
+       ///Copies selected files
+       void CopyFiles(const std::vector<std::string>& filenames);
     
     
     ///Sends a request to read the currently selected node and the ones that surround it.
     void ReadImageThreaded(const std::vector<tree::Node*>& sel);
-    
+
+       ///Saves the settings to the file
+       void OnSaveSettingsCallback(const std::string& copyPath,
+         const std::string& dbPath,
+         const std::string& syncEvent,
+         const std::string& syncFreq);
+       
+       ///Changes listener state
+       void OnListenerCallback(const std::string& drive, bool addFiles, bool removeFiles);
+
+       ///Acts upon a drive mount
+       void OnDriveMount(bool mount);
+
+       ///Starts the listening thread on the CD/DVD drive
+       void StartListeningThread();
+
+       ///Stops the listening thread on the CD/DVD drive
+       void StopListeningThread();
+
+       ///Called upon when a field has been edited
+       void OnFieldsEdited(tree::Node* node, const std::string& name, const std::string& key, const std::string& val);
+
+       ///Called upon to return the visible attributes of the current tab
+       void GetVisibleAttributes(std::vector<std::string>& shown,std::vector<std::string>& nShown, int level);
+
+       ///Called when there has been a change in the visible attributes of a tree view
+       void OnAttributesChanged(const std::vector<std::string>& nShown, int level);
     
   protected:
     /// Creates the tool bar
@@ -91,6 +121,8 @@ namespace creaImageIO
     wxToolBarToolBase* mToolAddDatabase;
     wxToolBarToolBase* mToolHelp;
        wxToolBarToolBase* mToolSynchronize;
+       wxToolBarToolBase* mToolSettings;
+       wxToolBarToolBase* mToolTools;
     
     wxSplitterWindow* mSplitter;
     wxPanel*          mBottomPanel;
@@ -102,14 +134,22 @@ namespace creaImageIO
     void CreateIconList();
     
     Gimmick * mGimmick;
+       
+       Listener* mListener;
     /// Callback for adding files
     void OnAddFiles(wxCommandEvent& event);
     /// Callback for adding dir
     void OnAddDir(wxCommandEvent& event);
     /// Callback for removing files
     void OnRemove(wxCommandEvent& event);
-       /// Callback for removing files
+       /// Callback for synchronization
     void OnSynchronize(wxCommandEvent& event);
+       /// Callback for settings edition
+    void OnSettings(wxCommandEvent& event);
+       /// Callback for settings edition
+    void OnTools(wxCommandEvent& event);
+       ///Creates the settings dialog (the pages inside and the information)
+       void CreateSettingsDialog(wxNotebook* nb, wxDialog* dial);
     
     /// Display a message box with the last addition statistics
     void DisplayAddSummary();
@@ -122,12 +162,15 @@ namespace creaImageIO
     /// Called upon to refresh the viewer once there are no actions to be done
     void OnInternalIdle();
 
-       // callback to add a database
+       /// callback to add a database
        void OnAddDB(wxCommandEvent& event);
     
-       //Create a DB from an Attributes Descriptor files 
+       ///Create a DB from an Attributes Descriptor files 
        void OnCreateDB(wxCommandEvent& event);
 
+       ///Edits the fields of a given node
+       void CreateEditFieldsDialog(tree::Node* node, std::vector<std::string> names, std::vector<std::string> keys);
     /// Progress dialog
     wxProgressDialog* mProgressDialog;
     ///The selection's maximum dimension