#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>
bool isSelection, int selection, bool mProcess);
///Stops the player
void StopPlayer(){mViewer->StopPlayer();}
- ///Adds a file to ignore
- void AddIgnoreFile(const tree::Node* & toRemove);
+ ///Adds a file to ignore
+ void AddIgnoreFile(tree::Node* toRemove);
///Resets the default image
void ClearSelection();
+ ///Copies selected files
+ void CopyFiles(const std::vector<std::string>& filenames);
+ ///Add selected files to the Database
+ void AddDir(std::string dirName);
///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
wxToolBarToolBase* mToolAddDatabase;
wxToolBarToolBase* mToolHelp;
wxToolBarToolBase* mToolSynchronize;
+ wxToolBarToolBase* mToolSettings;
+ wxToolBarToolBase* mToolTools;
wxSplitterWindow* mSplitter;
wxPanel* mBottomPanel;
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();
/// 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