xsi_menu.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSIMENU_H__
00018 #define __XSIMENU_H__
00019 
00020 #include <xsi_menuitem.h>
00021 #include <xsi_status.h>
00022 
00023 namespace XSI {
00024 
00025 //*****************************************************************************
00152 //*****************************************************************************
00153 
00154 class SICPPSDKDECL Menu : public MenuItem
00155 {
00156 public:
00158     Menu();
00159 
00161     ~Menu();
00162 
00166     Menu(const CRef& in_ref);
00167 
00171     Menu(const Menu& in_obj);
00172 
00177     bool IsA( siClassID in_ClassID) const;
00178 
00182     siClassID GetClassID() const;
00183 
00189     Menu& operator=(const Menu& in_obj);
00190 
00196     Menu& operator=(const CRef& in_ref);
00197 
00209     CStatus AddItem(
00210         const CString&          in_strLabel,
00211         const siMenuItemStyle   in_pStyle,
00212         MenuItem&               out_menuItem );
00213 
00220     Menu AddSubMenu( const CString& in_strLabel ) ;
00221 
00240     CStatus AddCommandItem(
00241         const CString& in_strLabel,
00242         const CString& in_strCmd,
00243         MenuItem& out_menuItem );
00244 
00261     CStatus AddCallbackItem(
00262         const CString& in_strLabel,
00263         const CString& in_strCallback,
00264         MenuItem& out_menuItem );
00265 
00270     CStatus AddSeparatorItem();
00271 
00280     CStatus PutFilter( const CString& in_strFilter );
00281 
00282     private:
00283     Menu * operator&() const;
00284     Menu * operator&();
00285 };
00286 
00287 };
00288 #endif // __XSIMENU_H__