13 #ifndef __MSS_SingleOpState_H__
14 #define __MSS_SingleOpState_H__
33 class mss_InputSelectorUndoWorker;
34 class mss_UndoClearHandles;
38 friend class mss_UndoClearHandles;
39 friend class mss_UndoCreateHandles;
40 friend class mss_InputSelectorUndoWorker;
45 BM_SceneManager *scene,
const char *cursor);
51 BM_SceneManager *scene);
62 bool insertmode =
true,
63 bool requestnew =
false);
80 void undoReselecting();
94 {
return myAllowExportingCookSelectionType; }
96 { myAllowExportingCookSelectionType = on; }
101 bool canExportCookSelectionType()
const;
135 virtual bool generateAllNodes();
139 virtual void doneSelecting(
void);
150 return mySelectors(idx).mySelector;
154 return mySelectors.entries();
158 {
return (myCurrentSelector != 0); }
163 virtual void handleSelectorDone(
UI_Event *);
177 virtual bool getSelectionBoundingBox( DM_Viewport &vport,
203 {
return myFirstSelectionFlag; }
205 { myFirstSelectionFlag =
first; }
211 void createHotkeySelector();
212 void destroyHotkeySelectorIfNeeded();
217 virtual bool needsGeoChangedInterest()
const;
221 void appendNodeToDisplay(
OP_Node &newnode);
223 bool usesSelectors();
225 void deleteSelectors();
228 void clearReselectLists();
231 void storeSelectionsOfInputNodes();
233 void restoreCurrentSelectorSelections();
239 GA_GroupType getSelectionTypeFromString(
const char *sel_str)
const;
241 void startNonSecureSelector();
242 void undoStartNonSecureSelector();
244 void finishSelector();
246 bool isRapidFire()
const;
256 : mySelector(0), mySelectorInfo(0)
278 UI_Menu * myHotkeySelectorMenu;
291 float mySelectorActiveCoords[2];
293 UI_Value myRapidFireActiveEventValue;
295 mss_InputSelectorUndoWorker * mySelectorUndoWorker;
297 int mySelectableFlag;
298 unsigned myMouseTakenFlag:1;
299 bool myFirstSelectionFlag;
300 bool myInNonSecureUndo;
301 bool myInNonSecureSelector;
302 bool myAllowExportingCookSelectionType;
303 bool myHasGeoChangedInterest;
305 int myDoubleClickUndoLevel;
315 static const char *exportCookSelectionType();
virtual int handleNodeDeleted(OP_Node &node)
virtual void updateCurrentSelector(OP3D_InputSelector *, const PI_BindingSelectorInfo *)
const UT_String & name() const
virtual bool isSelecting() const
int getNumSelectors() const
virtual bool ignoreDisplayFlagChange() const
virtual bool usesSloppySopSelectorToolbox() const
virtual void interrupt(BM_SimpleState *=0)
void deleteSelector(BM_InputSelector *selector)
virtual int handleKeyTypeEvent(UI_Event *event, BM_Viewport &)
Respond to keyboard events.
void setFirstSelectionFlag(bool first)
virtual void doRender(RE_Render *r, int x, int y, int ghost)
virtual int handleMouseWheelEvent(UI_Event *event)
virtual void addAnyReselectionUndos()
virtual bool usesHotkeySelector() const
PI_API bool PIresourceManagerExists()
virtual void restart(void)
virtual int enter(BM_SimpleState::BM_EntryType how)
virtual bool canStartNonSecureSelector() const
bool getAllowExportingCookSelectionType() const
bool getFirstSelectionFlag() const
virtual int handleMouseEvent(UI_Event *event)
virtual bool handleDoubleClickEvent(UI_Event *)
virtual UI_Menu * getSelectorMenu()
void setAllowExportingCookSelectionType(bool on)
virtual const char * getTemplateName() const
virtual bool isSelectorActive() const
Parent class for SOP custom states.
BM_API BM_ResourceManager * BMgetResourceManager()
virtual void resume(BM_SimpleState *=0)
virtual bool canStartSelectors() const
virtual int getToolboxCount() const
OP3D_InputSelector * selector(int idx)
virtual bool getAllowQuickSelect() const
const PI_StateTemplate & getTemplate() const
virtual int generate(BM_SimpleState::BM_EntryType how, bool insertmode=true, bool requestnew=false)
virtual bool handleTransitoryKey(const UI_Event &event)
static PRM_Template * ourTemplateList
GA_GroupType
An ordinal enum for the different types of groups in GA.
virtual UI_Menu * getExtraStateMenu()
virtual const char * className() const
virtual int nodeIdToReselectWithin() const
virtual void doGenerate(void)
virtual UI_Feel * getToolbox(int index) const
virtual int hasLocates() const
virtual void handleGeoChangedEvent(UI_Event *)
virtual bool copyCookedSelectionForFirstSelector() const