00001 #ifndef Fireworks_Core_FWGUIEventDataAdder_h 00002 #define Fireworks_Core_FWGUIEventDataAdder_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWGUIEventDataAdder 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Fri Jun 13 09:12:36 EDT 2008 00019 // $Id: FWGUIEventDataAdder.h,v 1.16 2010/12/02 09:22:26 matevz Exp $ 00020 // 00021 00022 // system include files 00023 #include <set> 00024 #include <vector> 00025 #include <string> 00026 #include <RQ_OBJECT.h> 00027 00028 // user include files 00029 00030 // forward declarations 00031 class FWEventItemsManager; 00032 class FWJobMetadataManager; 00033 class TGTransientFrame; 00034 class TGTextEntry; 00035 class TGTextButton; 00036 class TGCheckButton; 00037 class TFile; 00038 class FWTableWidget; 00039 class DataAdderTableManager; 00040 00041 class FWGUIEventDataAdder 00042 { 00043 RQ_OBJECT("FWGUIEventDataAdder") 00044 00045 public: 00046 FWGUIEventDataAdder(UInt_t w,UInt_t, 00047 FWEventItemsManager*, TGFrame*, 00048 FWJobMetadataManager *); 00049 virtual ~FWGUIEventDataAdder(); 00050 00051 // ---------- const member functions --------------------- 00052 00053 // ---------- static member functions -------------------- 00054 00055 // ---------- member functions --------------------------- 00056 void addNewItem(); 00057 void addNewItemAndClose(); 00058 void show(); 00059 00060 void windowIsClosing(); 00061 void updateFilterString(const char *str); 00062 void rowClicked(Int_t iRow,Int_t iButton,Int_t iKeyMod,Int_t,Int_t); 00063 00064 void metadataUpdatedSlot(void); 00065 00066 void resetNameEntry(); 00067 00068 private: 00069 FWGUIEventDataAdder(const FWGUIEventDataAdder&); // stop default 00070 void createWindow(); 00071 00072 void newIndexSelected(int); 00073 const FWGUIEventDataAdder& operator=(const FWGUIEventDataAdder&); // stop default 00074 00075 // ---------- member data -------------------------------- 00076 FWEventItemsManager* m_manager; 00077 FWJobMetadataManager* m_metadataManager; 00078 00079 TGFrame* m_parentFrame; 00080 TGTransientFrame* m_frame; 00081 TGTextEntry* m_name; 00082 TGCheckButton* m_doNotUseProcessName; 00083 TGTextButton* m_apply; 00084 TGTextButton* m_applyAndClose; 00085 TGTextEntry* m_search; 00086 00087 std::string m_purpose; 00088 00089 std::string m_type; 00090 std::string m_moduleLabel; 00091 std::string m_productInstanceLabel; 00092 std::string m_processName; 00093 00094 std::string m_expr; // this the search term for use in searchData() 00095 00096 DataAdderTableManager* m_tableManager; 00097 FWTableWidget* m_tableWidget; 00098 }; 00099 00100 00101 #endif