00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_MENU_SEPARATOR_
00024 #define _SO_MENU_SEPARATOR_
00025
00026 #include <DialogViz/dialog/SoMenuItem.h>
00027
00068 class SoMenuSeparator : public SoMenuItem
00069 {
00070 SO_DG_HEADER(SoMenuSeparator);
00071
00072 public:
00073
00077 SoMenuSeparator();
00078
00079
00080
00081 private:
00082 virtual void buildMenu(void *parent, SbBool isActive2d, int index = -1);
00083 static void initClass();
00084 static void exitClass();
00085 virtual void updateFromSensor(SoSensor* ) {};
00086 virtual void destroyNoDeleteMenuItem();
00087
00088 private:
00089 virtual ~SoMenuSeparator();
00090
00091 private:
00092 void* m_separatorMenuWin;
00093 void insertMenuItem(int index);
00094 void updateMenuItem();
00095
00096 virtual SbVec2i32 getItemInitSize();
00097 virtual void setItemSize(SbVec2i32 nSize, SbBool force = FALSE);
00098
00100
00101 private:
00102 static char* MenuSeparator;
00103 static void change3DSkin();
00104 static SbBool isSkinLoaded();
00105 static void setSkinLoaded(SbBool loaded);
00106
00107 private:
00108
00109 SO_DG_CATALOG_ENTRY_HEADER( sepSep );
00110 SO_DG_CATALOG_ENTRY_HEADER( sepFrame );
00111
00112 SoScale* menuSeparatorFrameScale;
00113
00114 private:
00115 static SbBool m_isSkinLoaded;
00116
00117 void create3DSeparator(int index);
00118 void update3DSeparator();
00119
00121
00122
00123 };
00124
00125 #endif // _SO_MENU_SEPARATOR_
00126
00127
00128