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
00232 CStatus AddCommandItem(
00233 const CString& in_strLabel,
00234 const CString& in_strCmd,
00235 MenuItem& out_menuItem );
00236
00253 CStatus AddCallbackItem(
00254 const CString& in_strLabel,
00255 const CString& in_strCallback,
00256 MenuItem& out_menuItem );
00257
00262 CStatus AddSeparatorItem();
00263
00272 CStatus PutFilter( const CString& in_strFilter );
00273
00274 private:
00275 Menu * operator&() const;
00276 Menu * operator&();
00277 };
00278
00279 };
00280 #endif // __XSIMENU_H__