35 #ifndef ANAQT_BROWSER_QWOBJECTBROWSER_H 36 #define ANAQT_BROWSER_QWOBJECTBROWSER_H 46 class QTreeWidgetItem;
51 class StaticInitializers;
72 typedef bool (*EditFunc)(
const std::set<carto::GenericObject*> & ao,
73 const std::string & att,
75 const std::set<QTreeWidgetItem*> & item );
79 Qt::WindowFlags f = 0 );
82 virtual Type type()
const;
83 void displayClickPoint();
84 void Draw(
bool flush =
true );
88 bool temporaryObject =
false,
97 virtual void setMode(
unsigned mode );
98 unsigned mode()
const;
99 virtual std::string modeString()
const;
104 void setShowDetailsUponRegister(
bool );
105 bool showDetailsUponRegister()
const;
107 static int classType();
109 static void registerTypeEditor(
const std::string & type, EditFunc func );
110 static void registerAttributeEditor(
const std::string & syntax,
111 const std::string & att,
113 static bool stringEditor(
const std::set<carto::GenericObject*> & ao,
114 const std::string & att,
116 const std::set<QTreeWidgetItem*> & item );
117 static bool intEditor(
const std::set<carto::GenericObject*> & ao,
118 const std::string & att,
120 const std::set<QTreeWidgetItem*> & item );
121 static bool floatEditor(
const std::set<carto::GenericObject*> & ao,
122 const std::string & att,
124 const std::set<QTreeWidgetItem*> & item );
125 static bool doubleEditor(
const std::set<carto::GenericObject*> & ao,
126 const std::string & att,
128 const std::set<QTreeWidgetItem*> & item );
129 static bool labelEditor(
const std::set<carto::GenericObject*> & ao,
130 const std::string & att,
132 const std::set<QTreeWidgetItem*> & item );
133 static bool colorEditor(
const std::set<carto::GenericObject*> & ao,
134 const std::string & att,
136 const std::set<QTreeWidgetItem*> & item );
140 virtual const std::set<unsigned> & typeCount()
const;
141 virtual std::set<unsigned> & typeCount();
142 virtual const std::string & baseTitle()
const;
148 void updateRightPanel();
151 QTreeWidgetItem* item,
153 static void modifyAttributeStatic(
void* parent );
154 virtual void modifyAttribute();
155 static void modifNameStatic(
void* parent );
156 static void modifLabelStatic(
void* parent );
157 virtual void modifAttrib(
const std::string & attrib );
158 static void addAttributeStatic(
void* parent );
159 virtual void addAttribute();
160 static void removePropertyStatic(
void* parent );
161 virtual void removeProperty();
166 std::string & attrib );
168 const QTreeWidgetItem* item,
171 const QTreeWidgetItem* item );
176 bool editAttribute(
const std::set<carto::GenericObject*> & objs,
177 const std::string & att,
179 const std::set<QTreeWidgetItem*> & items,
182 void normalModeSelectionChanged();
184 static void sendModeSelection(
void *parent );
185 static void setAttributeToAllSelected(
void *parent );
193 std::set<anatomist::AObject *> & tosel );
194 static unsigned countSelected( QTreeWidgetItem* parent,
195 QTreeWidgetItem* & current );
197 void updateRightSelectionChange(
int modifier );
198 virtual bool event( QEvent* ev );
199 virtual void keyPressEvent( QKeyEvent* ev );
202 virtual void leftSelectionChangedSlot();
203 virtual void rightButtonClickedSlot( QTreeWidgetItem *,
const QPoint & );
204 virtual void rightButtonRightPanel( QTreeWidgetItem *,
const QPoint & );
205 virtual void doubleClickedSlot( QTreeWidgetItem*,
int );
206 void rightPanelDoubleClicked( QTreeWidgetItem*,
int );
207 virtual void leftItemRenamed( QTreeWidgetItem * item,
int col,
208 const QString & text );
209 virtual void rightSelectionChangedSlot();
210 virtual void refreshNow();
211 void updateRightPanelNow();
212 void startDrag( QTreeWidgetItem*, Qt::MouseButtons, Qt::KeyboardModifiers );
213 virtual void leftItemStartsRename( QTreeWidgetItem * item,
int col );
214 virtual void leftItemCancelsRename( QTreeWidgetItem * item,
int col );
219 friend class anatomist::StaticInitializers;
222 static int registerClass();
223 static Static & staticState();
Base Anatomist object (abstract)
Abstract base class Anatomist window.
This class can be subclassed to represent an object that the programmer wants to have observed...
EditMode
Bit combinations for edit mode.
Editor window for labels (interaction with hierarchies)
Nomenclature hierarchy object.
Anatomist Window using Qt and controler system, providing a toolbar for controls. ...
Attributed object descriptor.