00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __BM_InputSelector_h__
00021 #define __BM_InputSelector_h__
00022
00023 #include "BM_API.h"
00024 #include <PI/PI_ResourceTemplate.h>
00025 #include <SI/AP_Interface.h>
00026
00027 class BM_View;
00028 class OP_Node;
00029
00030 class BM_API BM_InputSelector : public AP_Interface
00031 {
00032 public:
00033 BM_InputSelector(BM_View &viewer,
00034 PI_SelectorTemplate &templ);
00035 virtual ~BM_InputSelector();
00036
00037 virtual const char *className() const;
00038
00039
00040
00041 virtual int handleMouseEvent(UI_Event *event);
00042
00043
00044 virtual bool handleDoubleClickEvent(UI_Event *event);
00045
00046 virtual void handleNodeDeleted(OP_Node &node);
00047
00048 PI_SelectorTemplate &getTemplate() { return myTemplate; }
00049 const PI_SelectorTemplate &getTemplate() const { return myTemplate; }
00050
00051
00052
00053
00054
00055
00056
00057 virtual void setViewer(BM_View *viewer);
00058
00059
00060 virtual void doRender(RE_Render *r, short x, short y, int ghost);
00061
00062
00063
00064 void initializeUI();
00065
00066
00067
00068 virtual int hasLocates() const { return 0; }
00069
00070
00071
00072
00073
00074 virtual void startSelecting(bool copy_cooked_selection = true);
00075 virtual void stopSelecting();
00076
00077 virtual const char *cursor() const;
00078
00079 protected:
00080 BM_View &baseViewer() { return *myBaseViewer; }
00081 const BM_View &baseViewer() const { return *myBaseViewer; }
00082
00083
00084
00085
00086 virtual void initApplication(UI_Manager *, int c, const char **v);
00087
00088 private:
00089 PI_SelectorTemplate &myTemplate;
00090
00091 BM_View *myBaseViewer;
00092 const char *myBumpedCursor;
00093 };
00094
00095 #endif