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
00069 class SoMenuSeparator : public SoMenuItem
00070 {
00071 SO_DG_HEADER(SoMenuSeparator);
00072
00073 public:
00074
00078 SoMenuSeparator();
00079
00080
00081
00082 private:
00083 virtual void buildMenu(void *parent, SbBool isActive2d, int index = -1);
00084 static void initClass();
00085 static void exitClass();
00086 virtual void updateFromSensor(SoSensor* ) {};
00087 virtual void destroyNoDeleteMenuItem();
00088
00089 private:
00090 virtual ~SoMenuSeparator();
00091
00092 private:
00093 void* m_separatorMenuWin;
00094 void insertMenuItem(int index);
00095 void updateMenuItem();
00096
00097 virtual SbVec2i32 getItemInitSize();
00098 virtual void setItemSize(SbVec2i32 nSize, SbBool force = FALSE);
00099
00101
00102 private:
00103 static char* MenuSeparator;
00104 static void change3DSkin();
00105 static SbBool isSkinLoaded();
00106 static void setSkinLoaded(SbBool loaded);
00107
00108 private:
00109
00110 SO_DG_CATALOG_ENTRY_HEADER( sepSep );
00111 SO_DG_CATALOG_ENTRY_HEADER( sepFrame );
00112
00113 SoScale* menuSeparatorFrameScale;
00114
00115 private:
00116 static SbBool m_isSkinLoaded;
00117
00118 void create3DSeparator(int index);
00119 void update3DSeparator();
00120
00122
00123
00124 };
00125
00126 #endif // _SO_MENU_SEPARATOR_
00127
00128
00129