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);
81 void undoReselecting();
95 {
return myAllowExportingCookSelectionType; }
97 { myAllowExportingCookSelectionType = on; }
102 bool canExportCookSelectionType()
const;
124 BM_Viewport &)
override;
126 int hotkey_id)
override;
143 virtual bool generateAllNodes();
147 virtual void doneSelecting();
158 return mySelectors(idx).mySelector;
162 return mySelectors.entries();
166 {
return (myCurrentSelector != 0); }
171 virtual void handleSelectorDone(
UI_Event *);
185 virtual bool getSelectionBoundingBox( DM_Viewport &vport,
212 return getTemplateName();
216 {
return myFirstSelectionFlag; }
218 { myFirstSelectionFlag =
first; }
224 void createHotkeySelector();
225 void destroyHotkeySelectorIfNeeded();
230 virtual bool needsGeoChangedInterest()
const;
234 void appendNodeToDisplay(
OP_Node &newnode);
236 bool usesSelectors()
const;
238 void deleteSelectors();
241 void clearReselectLists();
244 void storeSelectionsOfInputNodes();
246 void restoreCurrentSelectorSelections();
252 GA_GroupType getSelectionTypeFromString(
const char *sel_str)
const;
254 void startNonSecureSelector();
255 void undoStartNonSecureSelector();
257 bool finishSelector();
259 bool isRapidFire()
const;
269 : mySelector(0), mySelectorInfo(0)
291 UI_Menu * myHotkeySelectorMenu;
304 float mySelectorActiveCoords[2];
306 UI_Value myRapidFireActiveEventValue;
308 mss_InputSelectorUndoWorker * mySelectorUndoWorker;
310 int mySelectableFlag;
311 unsigned myMouseTakenFlag:1;
312 bool myFirstSelectionFlag;
313 bool myInNonSecureUndo;
314 bool myInNonSecureSelector;
315 bool myAllowExportingCookSelectionType;
316 bool myHasGeoChangedInterest;
318 int myDoubleClickUndoLevel;
328 static const char *exportCookSelectionType();
virtual void updateCurrentSelector(OP3D_InputSelector *, const PI_BindingSelectorInfo *)
const UT_String & name() const
virtual bool isSelecting() const
int getNumSelectors() const
virtual bool ignoreDisplayFlagChange() const
int handleMouseWheelEvent(UI_Event *event) override
virtual bool usesSloppySopSelectorToolbox() const
int handleNodeDeleted(OP_Node &node) override
void deleteSelector(BM_InputSelector *selector)
int handleKeyTypeEvent(int key, UI_Event *event, BM_Viewport &) override
Respond to keyboard events.
void setFirstSelectionFlag(bool first)
virtual void doRender(RE_Render *r, int x, int y, int ghost)
virtual void doGenerate()
const char * className() const override
virtual void addAnyReselectionUndos()
UI_Feel * getToolbox(int index) const override
virtual bool usesHotkeySelector() const
int getToolboxCount() const override
PI_API bool PIresourceManagerExists()
virtual bool canStartNonSecureSelector() const
bool getAllowExportingCookSelectionType() const
bool getFirstSelectionFlag() const
void initApplication(UI_Manager *, int, const char **) override
virtual bool handleDoubleClickEvent(UI_Event *)
virtual UI_Menu * getSelectorMenu()
void interrupt(BM_SimpleState *state=0) override
int generate(BM_SimpleState::BM_EntryType how, const GenerateParms &parms) override
void setAllowExportingCookSelectionType(bool on)
virtual const char * getTemplateName() const
const char * getOperatorName() const override
int handleMouseEvent(UI_Event *event) override
virtual bool isSelectorActive() const
Parent class for SOP custom states.
void resume(BM_SimpleState *state=0) override
BM_API BM_ResourceManager * BMgetResourceManager()
virtual bool canStartSelectors() const
OP3D_InputSelector * selector(int idx)
virtual bool getAllowQuickSelect() const
const PI_StateTemplate & getTemplate() const
void getKeyResolveInfo(UI_KeyResolveInfo &info) override
int enter(BM_SimpleState::BM_EntryType how) override
static PRM_Template * ourTemplateList
GA_GroupType
An ordinal enum for the different types of groups in GA.
bool handleTransitoryKey(const UI_Event &event, int hotkey_id) override
virtual UI_Menu * getExtraStateMenu()
virtual int nodeIdToReselectWithin() const
virtual void handleVolatileChanges()
virtual int hasLocates() const
virtual void handleGeoChangedEvent(UI_Event *)
virtual bool copyCookedSelectionForFirstSelector() const