1 #ifndef _MENU_SERVICE_PROVIDER_ 2 #define _MENU_SERVICE_PROVIDER_ 3 4 class screen_generator; // forward reference 5 6 class menu_service_provider : public pixelmap_prompt_service_provider 7 { 8 public: 9 menu_service_provider(); 10 GetType()11 virtual int GetType() { return GX_TYPE_MENU; } GetTypeName(widget_info *)12 virtual CString GetTypeName(widget_info *) { return CString("GX_TYPE_MENU"); } GetShortName()13 virtual CString GetShortName() { return CString("menu"); } 14 virtual CString GetVarDeclaration(); GetControlBlockName()15 virtual CString GetControlBlockName() { return CString("GX_MENU"); } 16 17 virtual CString DeclarePropertiesStruct(); 18 virtual CString WriteExtendedProperties(screen_generator *gen, CString &scope, widget_info *info); 19 virtual CString GetCreateFromDefFunctionName(); 20 virtual CString GetCreateFromDefFunction(int version); 21 22 virtual widget_info *CreateNewInstance(GX_WIDGET *parent); 23 virtual GX_WIDGET *GenerateFromInfo(GX_WIDGET *parent, widget_info *info); 24 25 virtual void SaveToProject(xml_writer &, studiox_project *project, int display, widget_info *); 26 virtual void ReadFromProject(xml_reader &, studiox_project *project, int display, widget_info *info, ULONG valid_styles); 27 28 virtual void AssignTextOffset(widget_info *info, int text_x_offset, int text_y_offset); 29 virtual void AssignStyle(widget_info *info, int style); 30 31 static GX_WIDGET *TopLevelMenuContainerFind(GX_WIDGET *start); 32 void Autosize(widget_info *info); 33 }; 34 35 #endif 36