1 /***********************************************************************/ 2 /* Open Visualization Data Explorer */ 3 /* (C) Copyright IBM Corp. 1989,1999 */ 4 /* ALL RIGHTS RESERVED */ 5 /* This code licensed under the */ 6 /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ 7 /***********************************************************************/ 8 9 #include <dxconfig.h> 10 #include "../base/defines.h" 11 12 13 14 15 #ifndef _VPERoot_h 16 #define _VPERoot_h 17 18 #include "EditorWorkSpace.h" 19 #include "WorkSpaceRoot.h" 20 21 extern "C" Boolean VPERoot_MoveWindowWP (XtPointer); 22 extern "C" Boolean VPERoot_ShowWindowWP (XtPointer); 23 24 // 25 // Class name definition: 26 // 27 #define ClassVPERoot "VPERoot" 28 29 class PageSelector; 30 class UndoGrid; 31 32 // 33 // EditorWorkSpace class definition: 34 // 35 class VPERoot : public EditorWorkSpace, public WorkSpaceRoot 36 { 37 private: 38 39 PageSelector* selector; 40 XtWorkProcId show_wpid; 41 XtWorkProcId move_wpid; 42 EditorWorkSpace* to_be_shown; 43 44 45 protected: 46 47 virtual WorkSpace *newPage (int width, int height); 48 49 // 50 // D E F I N E R O O T P A G E B E H A V I O R 51 // D E F I N E R O O T P A G E B E H A V I O R 52 // (pure virtual from WorkSpaceRoot) 53 // getObjectXYSize(int * w,int * h)54 virtual void getObjectXYSize (int* w, int* h) { 55 this->EditorWorkSpace::getXYSize(w,h); 56 } 57 getPlacementCount()58 virtual int getPlacementCount() { 59 return this->EditorWorkSpace::getPlacementCount(); 60 } 61 setPlacementCount(int count)62 virtual void setPlacementCount(int count) { 63 this->EditorWorkSpace::setPlacementCount(count); 64 } 65 getLineDrawingEnabled()66 virtual boolean getLineDrawingEnabled() { 67 return this->EditorWorkSpace::getLineDrawing(); 68 } 69 getOverlapEnabled()70 virtual boolean getOverlapEnabled() { 71 return this->EditorWorkSpace::getOverlap(); 72 } 73 getWorkSpaceWidget()74 virtual Widget getWorkSpaceWidget() { 75 return this->EditorWorkSpace::getRootWidget(); 76 } 77 setDimensions(int width,int height)78 virtual void setDimensions(int width, int height) { 79 this->EditorWorkSpace::setWidthHeight (width, height); 80 } 81 getWorkSpaceInfo()82 virtual WorkSpaceInfo* getWorkSpaceInfo() { 83 return this->EditorWorkSpace::getInfo(); 84 } 85 86 friend Boolean VPERoot_MoveWindowWP (XtPointer); 87 friend Boolean VPERoot_ShowWindowWP (XtPointer); 88 friend class UndoGrid; 89 90 public: 91 92 // 93 // Constructor: 94 // VPERoot(const char * name,Widget parent,WorkSpaceInfo * info,EditorWindow * editor,PageSelector * selector)95 VPERoot(const char *name, Widget parent, 96 WorkSpaceInfo *info, EditorWindow *editor, PageSelector* selector) : 97 EditorWorkSpace(name, parent, info, editor), WorkSpaceRoot() { 98 this->selector = selector; 99 this->move_wpid = NUL(XtWorkProcId); 100 this->show_wpid = NUL(XtWorkProcId); 101 this->to_be_shown = NUL(EditorWorkSpace*); 102 } 103 104 // 105 // Destructor: 106 // 107 ~VPERoot(); 108 109 // 110 // D E F I N E R O O T P A G E B E H A V I O R 111 // D E F I N E R O O T P A G E B E H A V I O R 112 // setCursor(int cursorType)113 virtual void setCursor(int cursorType) { 114 this->EditorWorkSpace::setCursor(cursorType); 115 this->WorkSpaceRoot::setPageCursor(cursorType); 116 } 117 resetCursor()118 virtual void resetCursor() { 119 this->EditorWorkSpace::resetCursor(); 120 this->WorkSpaceRoot::resetPageCursor(); 121 } 122 resize()123 virtual void resize() { 124 this->WorkSpaceRoot::resizeWorkSpace(); 125 } 126 127 virtual void showWorkSpace (int); showWorkSpace(WorkSpace * ws)128 virtual void showWorkSpace (WorkSpace* ws) { 129 this->WorkSpaceRoot::showWorkSpace(ws); 130 } 131 132 virtual void installInfo (WorkSpaceInfo* info); 133 beginManyPlacements()134 virtual void beginManyPlacements () { 135 this->EditorWorkSpace::beginManyPlacements(); 136 this->WorkSpaceRoot::beginManyPagePlacements(); 137 } 138 endManyPlacements()139 virtual void endManyPlacements () { 140 this->EditorWorkSpace::endManyPlacements(); 141 this->WorkSpaceRoot::endManyPagePlacements(); 142 } 143 144 // 145 // Returns a pointer to the class name. 146 // getClassName()147 const char* getClassName() { return ClassVPERoot; } 148 virtual boolean isA (Symbol classname); 149 boolean isA (const char* classname); 150 }; 151 152 153 #endif // _VPERoot_h 154