/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 *************************************************************/


#ifndef _GLOBLMN_HRC
#define _GLOBLMN_HRC

/*------------------------------------------------------------------------
 Beschreibung: Menu-IDs
------------------------------------------------------------------------*/
#define ITEM_FORM_CONFIG \
    Identifier = SID_FM_CONFIG ; \
	Command = ".uno:Config" ; \
    DropDown = TRUE ;

#define ITEM_FORM_CONTROL_PROPERTIES\
    Identifier = SID_FM_CTL_PROPERTIES ; \
	Command = ".uno:ControlProperties" ; \
    Text [ en-US ] = "Con~trol..." ; \

#define ITEM_FORM_PROPERTIES\
    Identifier = SID_FM_PROPERTIES ; \
	Command = ".uno:FormProperties" ; \
    Text [ en-US ] = "For~m..." ; \

#define ITEM_REPLACE_CONTROL\
	Identifier = SID_FM_CHANGECONTROLTYPE ;\
	Command = ".uno:ChangeControlType" ; \
		Text [ en-US ] = "~Replace with";	\

#define ITEM_FORMAT_TEMPLATECATALOG \
    Identifier = SID_STYLE_CATALOG ; \
	Command = ".uno:StyleCatalog" ; \
    Text [ en-US ] = "~Catalog..." ; \

#define ITEM_FORMAT_TEMPLATE \
    Identifier = SID_STYLE_DESIGNER ; \
	Command = ".uno:DesignerDialog" ; \
    Text [ en-US ] = "St~ylist" ; \

#define ITEM_FORMAT_AUTOFORMAT \
    Identifier = SID_AUTOFORMAT ; \
	Command = ".uno:AutoFormat" ; \
    Text [ en-US ] = "Auto~Format..." ;\

#define ITEM_FORMAT_CHAR_DLG \
    Identifier = SID_CHAR_DLG ; \
	Command = ".uno:FontDialog" ; \
    Text [ en-US ] = "C~haracter..." ;\

#define ITEM_FORMAT_PARA_DLG \
    Identifier = SID_PARA_DLG ; \
	Command = ".uno:ParagraphDialog" ; \
    Text [ en-US ] = "P~aragraph..." ;\

#define ITEM_FORMAT_FONTWORK \
    Identifier = SID_FONTWORK ; \
	Command = ".uno:FontWork" ; \
    Text [ en-US ] = "F~ontwork" ;\

#define ITEM_EDIT_CUT \
    Identifier = SID_CUT ; \
	Command = ".uno:Cut" ; \
    Text [ en-US ] = "Cu~t" ;\

#define ITEM_EDIT_COPY \
    Identifier = SID_COPY ; \
	Command = ".uno:Copy" ; \
    Text [ en-US ] = "~Copy" ;\

#define ITEM_EDIT_DELETE \
    Identifier = SID_DELETE ; \
	Command = ".uno:Delete" ; \
    Text [ en-US ] = "~Delete" ;\

#define ITEM_FORMAT_ATTR_CHAR_FONT \
    Identifier = SID_ATTR_CHAR_FONT ; \
	Command = ".uno:CharFontName" ; \
    Text [ en-US ] = "Font" ;\

#define ITEM_FORMAT_ATTR_CHAR_FONTHEIGHT \
    Identifier = SID_ATTR_CHAR_FONTHEIGHT ; \
	Command = ".uno:FontHeight" ; \
    Text [ en-US ] = "Size" ;\

#define ITEM_FORMAT_ATTR_CHAR_WEIGHT \
    Identifier = SID_ATTR_CHAR_WEIGHT ; \
	Command = ".uno:Bold" ; \
    Text [ en-US ] = "Bold" ; \

#define ITEM_FORMAT_ATTR_CHAR_POSTURE \
    Identifier = SID_ATTR_CHAR_POSTURE ; \
	Command = ".uno:Italic" ; \
    Text [ en-US ] = "Italic" ;\

#define ITEM_FORMAT_ATTR_CHAR_UNDERLINE \
    Identifier = SID_ATTR_CHAR_UNDERLINE ; \
	Command = ".uno:Underline" ; \
    Text [ en-US ] = "Underline" ;\

#define ITEM_FORMAT_ATTR_CHAR_OVERLINE \
    Identifier = SID_ATTR_CHAR_OVERLINE ; \
        Command = ".uno:Overline" ; \
    Text [ en-US ] = "Overline" ;\

#define ITEM_FORMAT_ATTR_CHAR_STRIKEOUT \
    Identifier = SID_ATTR_CHAR_STRIKEOUT ; \
	Command = ".uno:Strikeout" ; \
    Text [ en-US ] = "Strikethrough" ;\

#define ITEM_FORMAT_ATTR_CHAR_SHADOWED \
    Identifier = SID_ATTR_CHAR_SHADOWED ; \
	Command = ".uno:Shadowed" ; \
    Text [ en-US ] = "Shadow" ;\

#define ITEM_FORMAT_ATTR_CHAR_CONTOUR \
    Identifier = SID_ATTR_CHAR_CONTOUR ; \
	Command = ".uno:OutlineFont" ; \
    Text [ en-US ] = "Outline" ;\

#define ITEM_FORMAT_SET_SUPER_SCRIPT \
    Identifier = SID_SET_SUPER_SCRIPT; \
    Command = CMD_SID_SET_SUPER_SCRIPT; \
    Text [ en-US  ] = "Su~perscript"; \

#define ITEM_FORMAT_SET_SUB_SCRIPT \
    Identifier = SID_SET_SUB_SCRIPT; \
    Command = CMD_SID_SET_SUB_SCRIPT; \
    Text [ en-US ] = "Su~bscript"; \


#define ITEM_FORMAT_ATTR_PARA_ADJUST_LEFT \
    Identifier = SID_ATTR_PARA_ADJUST_LEFT ; \
	Command = ".uno:LeftPara" ; \
    Text [ en-US ] = "~Left" ;\

#define ITEM_FORMAT_ATTR_PARA_ADJUST_RIGHT \
    Identifier = SID_ATTR_PARA_ADJUST_RIGHT ; \
	Command = ".uno:RightPara" ; \
    Text [ en-US ] = "~Right" ;\

#define ITEM_FORMAT_ATTR_PARA_ADJUST_CENTER \
    Identifier = SID_ATTR_PARA_ADJUST_CENTER ; \
	Command = ".uno:CenterPara" ; \
    Text [ en-US ] = "~Centered" ;\

#define ITEM_FORMAT_ATTR_PARA_ADJUST_BLOCK \
    Identifier = SID_ATTR_PARA_ADJUST_BLOCK ; \
	Command = ".uno:JustifyPara" ; \
    Text [ en-US ] = "Justified" ;\

#define ITEM_FORMAT_PARA_LINESPACE_10 \
    Identifier = SID_ATTR_PARA_LINESPACE_10 ; \
	Command = ".uno:SpacePara1" ; \
    Text [ en-US ] = "Single" ;\

#define ITEM_FORMAT_PARA_LINESPACE_15 \
    Identifier = SID_ATTR_PARA_LINESPACE_15 ; \
	Command = ".uno:SpacePara15" ; \
    Text [ en-US ] = "1.5 lines" ;\

#define ITEM_FORMAT_PARA_LINESPACE_20 \
    Identifier = SID_ATTR_PARA_LINESPACE_20 ; \
	Command = ".uno:SpacePara2" ; \
    Text [ en-US ] = "~Double" ;\

#define ITEM_FORMAT_FRAME_TO_TOP \
    Identifier = SID_FRAME_TO_TOP ; \
	Command = ".uno:BringToFront" ; \
    Text [ en-US ] = "~Bring to Front" ;\

#define ITEM_FORMAT_FRAME_TO_BOTTOM \
    Identifier = SID_FRAME_TO_BOTTOM ; \
	Command = ".uno:SendToBack" ; \
    Text [ en-US ] = "~Send to Back" ;\

#define ITEM_FORMAT_OBJECT_ALIGN \
    Identifier = SID_OBJECT_ALIGN ; \
	Command = ".uno:ObjectAlign" ; \
    Text [ en-US ] = "A~lignment" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_LEFT \
    Identifier = SID_OBJECT_ALIGN_LEFT ; \
	Command = ".uno:ObjectAlignLeft" ; \
    Text [ en-US ] = "~Left" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_CENTER \
    Identifier = SID_OBJECT_ALIGN_CENTER ; \
	Command = ".uno:AlignCenter" ; \
    Text [ en-US ] = "~Centered" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_RIGHT \
    Identifier = SID_OBJECT_ALIGN_RIGHT ; \
	Command = ".uno:ObjectAlignRight" ; \
    Text [ en-US ] = "~Right" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_UP \
    Identifier = SID_OBJECT_ALIGN_UP ; \
	Command = ".uno:AlignUp" ; \
    Text [ en-US ] = "~Top" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_MIDDLE \
    Identifier = SID_OBJECT_ALIGN_MIDDLE ; \
	Command = ".uno:AlignMiddle" ; \
    Text [ en-US ] = "C~enter" ;\

#define ITEM_FORMAT_OBJECT_ALIGN_DOWN \
    Identifier = SID_OBJECT_ALIGN_DOWN ; \
	Command = ".uno:AlignDown" ; \
    Text [ en-US ] = "~Bottom" ;\

#define ITEM_FORMAT_ATTRIBUTES_LINE \
    Identifier = SID_ATTRIBUTES_LINE ; \
	Command = ".uno:FormatLine" ; \
    Text [ en-US ] = "L~ine..." ;\

#define ITEM_FORMAT_ATTRIBUTES_AREA \
    Identifier = SID_ATTRIBUTES_AREA ; \
	Command = ".uno:FormatArea" ; \
    Text [ en-US ] = "A~rea..." ;\

#define ITEM_FORMAT_ATTR_TRANSFORM \
    Identifier = SID_ATTR_TRANSFORM ; \
	Command = ".uno:TransformDialog" ; \
    Text [ en-US ] = "Position and Si~ze..." ;\

#define ITEM_FORMAT_OBJECT_HEAVEN \
    Identifier = SID_OBJECT_HEAVEN ; \
	Command = ".uno:SetObjectToForeground" ; \
    Text [ en-US ] = "~To Foreground" ;\

#define ITEM_FORMAT_OBJECT_HELL \
    Identifier = SID_OBJECT_HELL ; \
	Command = ".uno:SetObjectToBackground" ; \
    Text [ en-US ] = "T~o Background" ;\

#define ITEM_FORMAT_BEZIER_EDIT \
    Identifier = SID_BEZIER_EDIT ; \
	Command = ".uno:ToggleObjectBezierMode" ; \
    Text [ en-US ] = "Edit ~Points" ;\

#define ITEM_FILE_PICKLIST \
    Identifier = SID_PICKLIST ; \
	Command = ".uno:PickList" ; \
    Text [ en-US ] = "~File" ;	\

#define ITEM_FILE_NEWDOC \
    Identifier = SID_NEWDOCDIRECT ; \
	Command = ".uno:AddDirect" ; \
    Text [ en-US ] = "~New" ;\

#define ITEM_FILE_OPENDOC \
    Identifier = SID_OPENDOC ; \
	Command = ".uno:Open" ; \
    Text [ en-US ] = "~Open..." ;\


#define ITEM_FILE_AUTOPILOT \
    MenuItem\
    {\
        Identifier = SID_AUTOPILOTMENU ; \
		Command = ".uno:AutoPilotMenu" ; \
        Text [ en-US ] = "A~utoPilot" ; \
			};

#define ITEM_FILE_CLOSEDOC \
    Identifier = SID_CLOSEDOC ; \
	Command = ".uno:CloseDoc" ; \
    Text [ en-US ] = "~Close" ;\

#define ITEM_FILE_SAVEDOC \
    Identifier = SID_SAVEDOC ; \
	Command = ".uno:Save" ; \
    Text [ en-US ] = "~Save" ;	\

#define ITEM_FILE_SAVEDOCS \
    Identifier = SID_SAVEDOCS ; \
	Command = ".uno:SaveAll" ; \
    Text [ en-US ] = "Sa~ve All" ; \

#define ITEM_FILE_SAVEASDOC \
    Identifier = SID_SAVEASDOC ; \
	Command = ".uno:SaveAs" ; \
    Text [ en-US ] = "Save ~As..." ;	\

#define ITEM_FILE_EXPORTDOC \
    Identifier = SID_EXPORTDOC ; \
    Command = ".uno:ExportTo" ; \
    Text [ en-US ] = "Expor~t..." ;   \

#define ITEM_FILE_EXPORTDOCASPDF \
    Identifier = SID_EXPORTDOCASPDF ; \
    Command = ".uno:ExportToPDF" ; \
    Text [ en-US ] = "Export as P~DF..." ;  \

#define ITEM_FILE_VERSIONDIALOG \
    Identifier = SID_VERSION ; \
	Command = ".uno:VersionDialog" ; \
    Text [ en-US ] = "Versions..." ; \

#define ITEM_FILE_LASTVERSIONDOC \
    Identifier = SID_RELOAD ; \
	Command = ".uno:Reload" ; \
    Text [ en-US ] = "Reload" ;\

#define ITEM_FILE_DOCINFO \
    Identifier = SID_DOCINFO ; \
	Command = ".uno:SetDocumentProperties" ; \
    Text [ en-US ] = "Propert~ies..." ;\

#define ITEM_FILE_DOCTEMPLATE \
    Identifier = MN_TEMPLATES;  \
    Command = ".uno:TemplateMenu" ; \
    Text [ en-US ] = "~Templates" ;\
    SubMenu = Menu                          \
    {                                       \
        ItemList =                          \
        {                                   \
            MenuItem                        \
            {                               \
                Identifier = SID_ORGANIZER ; \
				Command = ".uno:Organizer" ; \
            	Text [ en-US ] = "~Organize...";\
			};                                      \
			MenuItem	\
			{	\
				Identifier = SID_TEMPLATE_ADDRESSBOKSOURCE;	\
				Command = ".uno:AddressBookSource" ; \
								Text [ en-US ] = "~Address Book Source...";	\
			};	\
            MenuItem                                \
            {                                       \
                Identifier = SID_DOCTEMPLATE ;      \
				Command = ".uno:SaveAsTemplate" ;		\
            	Text [ en-US ] = "~Save...";\
			};                                      \
            MenuItem                                \
            {                                       \
                Identifier = SID_OPENTEMPLATE ;     \
				Command = ".uno:OpenTemplate" ;		\
            	Text [ en-US ] = "~Edit...";\
			};                                      \
        };                                          \
    };												\

#define ITEM_FILE_PRINTPREVIEW \
    Identifier = SID_PRINTPREVIEW ; \
	Command = ".uno:PrintPreview" ; \
    Text [ en-US ] = "Pa~ge Preview" ;\

#define ITEM_FILE_SETUPPRINTER \
    Identifier = SID_SETUPPRINTER ; \
	Command = ".uno:PrinterSetup" ; \
    Text [ en-US ] = "P~rinter Settings..." ;	\

#define ITEM_FILE_PRINTDOC \
    Identifier = SID_PRINTDOC ; \
	Command = ".uno:Print" ; \
    Text [ en-US ] = "~Print..." ;	\

#define ITEM_FILE_MAIL_SENDDOC \
    Identifier = SID_MAIL_SENDDOC ; \
	Command = ".uno:SendMail" ; \
    Text [ en-US ] = "Document as ~E-mail..." ; \

#define ITEM_FILE_MAIL_SENDDOCASPDF \
    Identifier = SID_MAIL_SENDDOCASPDF ; \
	Command = ".uno:SendMailDocAsPDF" ; \
    Text [ en-US ] = "Document as P~DF Attachment..." ;	\


#define ITEM_FILE_QUITAPP \
    Identifier = SID_QUITAPP ; \
	Command = ".uno:Quit" ; \
    Text [ en-US ] = "E~xit" ; \

#define ITEM_FILE_LOGOUT \
    Identifier = SID_LOGOUT ; \
	Command = ".uno:Logout" ; \
    Text [ en-US ] = "Logout" ;	\

#define ITEM_EDIT_UNDO \
    Identifier = SID_UNDO ; \
	Command = ".uno:UndoAction" ; \
    Text [ en-US ] = "Can't Undo" ;	\

#define ITEM_EDIT_REDO \
    Identifier = SID_REDO ; \
	Command = ".uno:Redo" ; \
    Text [ en-US ] = "Can't Restore" ; \

#define ITEM_EDIT_REPEAT \
    Identifier = SID_REPEAT ; \
	Command = ".uno:Repeat" ; \
    Text [ en-US ] = "~Repeat" ; \

#define ITEM_EDIT_PASTE \
    Identifier = SID_PASTE ; \
	Command = ".uno:Paste" ; \
    Text [ en-US ] = "~Paste" ;	\

#define ITEM_EDIT_SELECTALL \
    Identifier = SID_SELECTALL ; \
	Command = ".uno:SelectAll" ; \
    Text [ en-US ] = "Select ~All" ; \

#define ITEM_EDIT_SEARCH_DLG \
    Identifier = SID_SEARCH_DLG ; \
	Command = ".uno:SearchDialog" ; \
    Text [ en-US ] = "~Find & Replace..." ; \

#define ITEM_EDIT_NAVIGATOR \
    Identifier = SID_NAVIGATOR ; \
	Command = ".uno:Navigator" ; \
    Text [ en-US ] = "~Navigator" ; \


#define ITEM_EDIT_BIBLIOGRAPHY \
    Identifier = SID_COMP_BIBLIOGRAPHY ; \
	Command = ".uno:BibliographyComponent" ; \
	Text [ en-US ] = "~Bibliography Database";	\

#define ITEM_EDIT_PLUGINS_ACTIVE \
    Identifier = SID_PLUGINS_ACTIVE ; \
	Command = ".uno:PlugInsActive" ; \
    Text [ en-US ] = "P~lug-in" ; \

#define ITEM_EDIT_IMAP \
    Identifier = SID_IMAP ; \
	Command = ".uno:ImageMapDialog" ; \
    Text [ en-US ] = "ImageMap" ; \

#define ITEM_EDIT_OBJECT \
    Identifier = SID_OBJECT ; \
	Command = ".uno:ObjectMenue" ; \
    Text [ en-US ] = "~Object" ; \

#define ITEM_VIEW_ATTR_ZOOM \
    Identifier = SID_ATTR_ZOOM ; \
	Command = ".uno:Zoom" ; \
    Text [ en-US ] = "~Zoom..." ; \

#define ITEM_VIEW_TOGGLEFUNCTIONBAR \
    Identifier = SID_TOGGLEFUNCTIONBAR ; \
	Command = ".uno:FunctionBarVisible" ; \
    Text [ en-US ] = "~Function Bar" ; \

#define ITEM_VIEW_TOGGLEOBJECTBAR \
    Identifier = SID_TOGGLEOBJECTBAR ; \
	Command = ".uno:ObjectBarVisible" ; \
    Text [ en-US ] = "~Object Bar" ; \

#define ITEM_VIEW_TOGGLEINETBAR \
    Identifier = SID_TOGGLEINETBAR ; \
    Command = CMD_SID_TOGGLEINETBAR; \
    Text [ en-US ] = "Internet Bar" ; \

#define ITEM_VIEW_TOGGLESTATUSBAR \
    Identifier = SID_TOGGLESTATUSBAR ; \
	Command = ".uno:StatusBarVisible" ; \
    Text [ en-US ] = "~Status Bar" ; \

#define ITEM_VIEW_TOGGLEIMESTATUSWINDOW \
    Identifier = SID_SHOW_IME_STATUS_WINDOW ; \
	Command = ".uno:ShowImeStatusWindow" ; \
	Text [ en-US ] = "~Input Method Status";	\

#define ITEM_VIEW_TASKBAR \
    Identifier = SID_TASKBAR ; \
	Command = ".uno:TaskBarVisible" ; \
    Text [ en-US ] = "~Status Bar" ; \

#define ITEM_VIEW_COLORBAR \
    Identifier = SID_COLOR_CONTROL ; \
	Command = ".uno:ColorControl" ; \
    Text [ en-US ] = "~Color Bar" ; \

#define ITEM_VIEW_FULLSCREEN \
    Identifier = SID_WIN_FULLSCREEN ; \
	Command = ".uno:FullScreen" ; \
    Text [ en-US ] = "F~ull Screen" ; \


#define ITEM_VIEW_SCREENMODE \
    MenuItem\
    {\
        ITEM_VIEW_FULLSCREEN\
    };

#define ITEM_VIEW_BROWSER_MODE \
    Identifier = SID_BROWSER_MODE ; \
	Command = ".uno:BrowseView" ; \
    Text [ en-US ] = "~Online Layout" ; \

#define ITEM_VIEW_BROWSER \
    Identifier = SID_BROWSER ; \
	Command = ".uno:Beamer" ; \
    Text [ en-US ] = "~Beamer" ; \


#define ITEM_INSERT_HYPERLINK_INSERT \
    Identifier = SID_HYPERLINK_INSERT ; \
	Command = ".uno:InsertHyperlink" ; \
    Text [ en-US ] = "~Hyperlink Bar" ; \

#define ITEM_INSERT_INSERT_GRAPHIC \
    Identifier = SID_INSERT_GRAPHIC ; \
	Command = ".uno:InsertGraphic" ; \
    Text [ en-US ] = "~Graphics..." ; \

#define ITEM_INSERT_TWAIN_SELECT \
    MenuItem\
    {\
        Identifier = SID_TWAIN_SELECT ; \
		Command = ".uno:TwainSelect" ; \
        Text [ en-US ] = "~Select Source..." ; \
			};

#define ITEM_INSERT_TWAIN_TRANSFER \
    MenuItem\
    {\
        Identifier = SID_TWAIN_TRANSFER ; \
		Command = ".uno:TwainTransfer" ; \
        Text [ en-US ] = "~Request..." ; \
			};

#define ITEM_INSERT_TWAIN_MENU \
    MenuItem\
    {\
        Identifier = SID_SCAN ; \
		Command = ".uno:Scan" ; \
        Text [ en-US ] = "Scan" ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                ITEM_INSERT_TWAIN_SELECT\
                ITEM_INSERT_TWAIN_TRANSFER\
            };\
        };\
	};

#define ITEM_INSERT_INSERT_DIAGRAM \
    Identifier = SID_INSERT_DIAGRAM ; \
	Command = ".uno:InsertObjectChart" ; \
    Text [ en-US ] = "~Chart..." ; \

#define ITEM_INSERT_GALLERY \
    Identifier = SID_GALLERY ; \
	Command = ".uno:Gallery" ; \
    Text [ en-US ] = "~Gallery" ; \

#define ITEM_INSERT_INSERTDOC \
    Identifier = SID_INSERTDOC ; \
	Command = ".uno:InsertDoc" ; \
    Text [ en-US ] = "~File..." ; \

#define TMP_SID_INSERT_PLUGIN \
    MenuItem\
    {\
        Identifier = SID_INSERT_PLUGIN ; \
		Command = ".uno:InsertPlugin" ; \
        Text [ en-US ] = "~Plug-in..." ; \
			};

#define TMP_SID_INSERT_SOUND \
    MenuItem\
    {\
        Identifier = SID_INSERT_SOUND ; \
		Command = ".uno:InsertSound" ; \
        Text [ en-US ] = "~Sound..." ; \
	};

#define TMP_SID_INSERT_VIDEO \
    MenuItem\
    {\
        Identifier = SID_INSERT_VIDEO ; \
		Command = ".uno:InsertVideo" ; \
        Text [ en-US ] = "~Video..." ; \
	};

#define ITEM_INSERT_OBJECT_MN \
    MenuItem\
    {\
        Identifier = SID_MN_INSERT_OBJECT_DLGS ; \
        Command = ".uno:ObjectMenu" ; \
        Text [ en-US ] = "~Object" ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                MenuItem\
                {\
                    Identifier = SID_INSERT_OBJECT ; \
					Command = ".uno:InsertObject" ; \
                    Text [ en-US ] = "~OLE Object..." ; \
									};\
                TMP_SID_INSERT_PLUGIN\
				TMP_SID_INSERT_SOUND\
				TMP_SID_INSERT_VIDEO\
                MenuItem\
                {\
                    Identifier = SID_INSERT_MATH ; \
					Command = ".uno:InsertMath" ; \
                    Text [ en-US ] = "~Formula..." ; \
									};\
            };\
        };\
			};

#define ITEM_INSERT_OBJECT_PORTAL \
    MenuItem\
    {\
        Identifier = SID_MN_INSERT_OBJECT_DLGS ; \
        Command = ".uno:ObjectMenu" ; \
        Text [ en-US ] = "~Object" ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                MenuItem\
                {\
                    Identifier = SID_INSERT_OBJECT ; \
					Command = ".uno:InsertObject" ; \
                    Text [ en-US ] = "~OLE Object..." ; \
									};\
                MenuItem\
                {\
                    Identifier = SID_INSERT_MATH ; \
					Command = ".uno:InsertMath" ; \
                    Text [ en-US ] = "~Formula" ; \
									};\
            };\
        };\
			};

#define ITEM_FORMAT_NUMBERING \
    MenuItem\
    {\
        Identifier = DEFINE_SLOTID_FOR_NUMBER_BULLETS ; \
        Text [ en-US ] = "~Numbering/Bullets..." ; \
			};



#define ITEM_FORMAT \
    Identifier = SID_OBJECTMENU0 ; \
    Command = ".uno:FormatMenu" ; \
    Text [ en-US ] = "F~ormat" ; \

#define ITEM_TOOLS_ID		SID_ADDONLIST

#define ITEM_TOOLS_MACROS								\
    Identifier = SID_SCRIPTORGANIZER ;			\
    Command = ".uno:ScriptOrganizer" ;                       \
		Text [ en-US ] = "Scripts/Macros" ;					\

/*
#define ITEM_TOOLS_MACROS								\
    Command = ".uno:MacrosMenu" ;                       \
		Text [ en-US ] = "~Macros" ;					\
	SubMenu = Menu										\
	{													\
		ItemList =										\
		{												\
			MenuItem									\
			{											\
				Identifier = SID_RECORDMACRO ;			\
				Command = ".uno:MacroRecorder" ;	\
								Text [ en-US ] = "Record Macro"; 			};											\
			MenuItem									\
			{											\
				Identifier = SID_BASICCHOOSER ;			\
				Command = ".uno:MacroDialog" ;			\
								Text [ en-US ] = "~Macro..." ; \
							};											\
		};												\
	}; \

*/

#define ITEM_TOOLS_BASICCHOOSER			ITEM_TOOLS_MACROS

#define ITEM_TOOLS_CONFIG \
    Identifier = SID_CONFIG ; \
	Command = ".uno:ConfigureDialog"; \
    Text [ en-US ] = "~Configure..." ; \


#define ITEM_TOOLS_AUTO_CORRECT \
    MenuItem\
    {\
        Identifier = SID_AUTO_CORRECT_DLG ; \
		Command = ".uno:AutoCorrectDlg" ; \
        Text [ en-US ] = "~AutoCorrect..." ; \
			};

#define ITEM_SD_GRAPHIC_OPTIONS \
    MenuItem\
    {\
        Identifier = SID_SD_GRAPHIC_OPTIONS ; \
		Command = ".uno:SdGraphicOptions" ; \
        Text [ en-US ] = "~Drawing..." ; \
			};

#define ITEM_MN_OPTIONS \
    MenuItem\
    {\
        Identifier = SID_OPTIONS_TREEDIALOG ; \
		Command = ".uno:OptionsTreeDialog" ; \
        Text [ en-US ] = "~Options..." ; \
			};


/*------------------------------------------------------------------------
 Beschreibung: Menu Window-IDs
------------------------------------------------------------------------*/
#define ITEM_WINDOW_MDIWINDOWLIST \
    Identifier = SID_MDIWINDOWLIST ; \
	Command = ".uno:WindowList" ; \
    Text [ en-US ] = "~Window" ; \

#define ITEM_WINDOW_CLONEWIN \
    Identifier = SID_NEWWINDOW ; \
	Command = ".uno:NewWindow" ; \
    Text [ en-US ] = "~New Window" ; \

#define ITEM_WINDOW_CASCADEWINS \
    MenuItem\
    {\
        Identifier = SID_CASCADEWINS ; \
		Command = ".uno:Cascade" ; \
        Text [ en-US ] = "~Cascade" ; \
			};

#define ITEM_WINDOW_TILEWINS \
    MenuItem\
    {\
        Identifier = SID_TILEWINS ; \
		Command = ".uno:Tile" ; \
        Text [ en-US ] = "~Tile" ; \
			};

#define ITEM_WINDOW_HORIZONTALWINS \
    MenuItem\
    {\
        Identifier = SID_HORIZONTALWINS ; \
		Command = ".uno:ArrangeHorizontal" ; \
        Text [ en-US ] = "~Horizontally" ; \
			};

#define ITEM_WINDOW_VERTICALWINS \
    MenuItem\
    {\
        Identifier = SID_VERTICALWINS ; \
		Command = ".uno:ArrangeVertical" ; \
        Text [ en-US ] = "~Vertically" ; \
			};

#define ITEM_WINDOW_CLOSEWIN \
    Identifier = SID_CLOSEWIN ; \
	Command = ".uno:CloseWin" ; \
    Text [ en-US ] = "Close Window" ; \

#define ITEM_HYPERLINK_DIALOG \
    MenuItem\
    {\
		Identifier = SID_HYPERLINK_DIALOG ; \
		Command = ".uno:HyperlinkDialog" ; \
				Text [ en-US ] = "~Hyperlink" ; \
			} ;

#define ITEM_POLY_MERGE \
    MenuItem\
    {\
        Identifier = SID_POLY_MERGE ; \
		Command = ".uno:Merge" ; \
        Text [ en-US ] = "~Merge" ; \
	};
#define ITEM_POLY_SUBSTRACT \
    MenuItem\
    {\
        Identifier = SID_POLY_SUBSTRACT ; \
		Command = ".uno:Substract" ; \
        Text [ en-US ] = "~Subtract" ; \
		};
#define ITEM_POLY_INTERSECT \
    MenuItem\
    {\
        Identifier = SID_POLY_INTERSECT ; \
		Command = ".uno:Intersect" ; \
        Text [ en-US ] = "I~ntersect" ; \
			};

#define MNSUB_FORMEN \
	MenuItem \
	{ \
		Identifier = SID_POLY_FORMEN ; \
		Command = ".uno:PolyFormen" ; \
				Text [ en-US ] = "~Shapes" ; \
		SubMenu = Menu \
		{\
			ItemList = \
			{\
				ITEM_POLY_MERGE \
				ITEM_POLY_SUBSTRACT \
				ITEM_POLY_INTERSECT \
			};\
		};\
	};


/*------------------------------------------------------------------------
 Beschreibung: Menu Window
------------------------------------------------------------------------*/
#define GLOBLMN_CLONEWIN \
    MenuItem\
    {\
        ITEM_WINDOW_CLONEWIN\
    };\
    MenuItem\
    {\
        ITEM_WINDOW_CLOSEWIN\
    };\
    MenuItem\
    {\
        Separator = TRUE ; \
    };

#ifdef MN_SW_WEB
 //#define GLOBLMN_CLONEWIN
    #define GLOBLMN_WINMN  MenuItem MN_WEBWIN
#elif defined MN_SW_GLOBAL
    #define GLOBLMN_WINMN  MenuItem MN_GLOBALWIN
#else
    #define GLOBLMN_WINMN  MenuItem MN_WIN
#endif

#define ITEM_WINDOW_MENU \
	GLOBLMN_WINMN \
    {\
        ITEM_WINDOW_MDIWINDOWLIST\
        SubMenu = Menu\
        {\
            ItemList = \
            {\
				GLOBLMN_CLONEWIN \
            };\
        };\
    };

/*------------------------------------------------------------------------
 Beschreibung: Menu Help-IDs
------------------------------------------------------------------------*/
#define ITEM_HELP_HELPMENU \
    Identifier = SID_HELPMENU ; \
	Command = ".uno:HelpMenu" ; \
    Text [ en-US ] = "~Help" ; \

#define ITEM_HELP_HELPINDEX \
    Identifier = SID_HELPINDEX ; \
	Command = ".uno:HelpIndex" ; \
    Text [ en-US ] = "~Contents" ;	\

#define ITEM_HELP_HELPONHELP \
    Identifier = SID_HELPONHELP ; \
	Command = ".uno:HelpOnHelp" ; \
    Text [ en-US ] = "Using Help" ; \

#define ITEM_HELP_HELP_PI \
    Identifier = SID_HELP_PI ; \
	Command = ".uno:HelperDialog" ; \
    Text [ en-US ] = "Help ~Agent" ; \

#define ITEM_HELP_HELPTIPS \
    Identifier = SID_HELPTIPS ; \
	Command = ".uno:HelpTip" ; \
    Text [ en-US ] = "~Tips" ; \

#define ITEM_HELP_BALLOONHELP \
    Identifier = SID_HELPBALLOONS ; \
	Command = ".uno:ActiveHelp" ; \
    Text [ en-US ] = "~Extended Tips" ; \

#define ITEM_HELP_SUPPORTPAGE \
    Identifier = SID_HELP_SUPPORTPAGE ; \
	Command = ".uno:HelpSupport" ; \
    Text [ en-US ] = "~Support" ;	\

#define ITEM_HELP_ABOUT \
    Identifier = SID_ABOUT ; \
	Command = ".uno:About" ; \
    Text [ en-US ] = "A~bout %PRODUCTNAME..." ; \

/*------------------------------------------------------------------------
 Beschreibung: Menu Help
------------------------------------------------------------------------*/
#define ITEM_HELP_MENU \
    MenuItem MN_HELP\
    {\
        ITEM_HELP_HELPMENU\
        Help = TRUE ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                MenuItem\
                {\
                    ITEM_HELP_HELPINDEX\
                };\
                MenuItem\
                {\
                    Separator = TRUE ; \
                };\
                MenuItem\
                {\
                    ITEM_HELP_HELP_PI\
                };\
                MenuItem\
                {\
                    ITEM_HELP_HELPTIPS\
                };\
                MenuItem\
                {\
                    ITEM_HELP_BALLOONHELP\
                };\
                MenuItem\
                {\
                    Separator = TRUE ; \
                };\
				MenuItem\
                {\
					ITEM_HELP_SUPPORTPAGE\
				};\
                MenuItem\
                {\
                    Separator = TRUE ; \
                };\
                MenuItem\
                {\
                    ITEM_HELP_ABOUT\
                    About = TRUE ; \
                };\
            };\
        };\
    };
/*------------------------------------------------------------------------
 Beschreibung: Kontextmenues
------------------------------------------------------------------------*/

#define ITEM_POPUP_TEMPLATE_EDIT \
    Identifier = SID_STYLE_EDIT ; \
	Command = ".uno:EditStyle" ; \
    Text [ en-US ] = "Edit Paragraph Style..." ; \

 // Gruppen-/Kombination-Funktionen
#define ITEM_POPUP_GROUP \
    Identifier = SID_GROUP ; \
	Command = ".uno:FormatGroup" ; \
    Text [ en-US ] = "~Group" ; \

#define ITEM_POPUP_UNGROUP \
    Identifier = SID_UNGROUP ; \
	Command = ".uno:FormatUngroup" ; \
    Text [ en-US ] = "~Ungroup" ; \

#define ITEM_POPUP_ENTER_GROUP \
    Identifier = SID_ENTER_GROUP ; \
	Command = ".uno:EnterGroup" ; \
    Text [ en-US ] = "~Edit Group" ; \

#define ITEM_POPUP_LEAVE_GROUP \
    Identifier = SID_LEAVE_GROUP ; \
	Command = ".uno:LeaveGroup" ; \
    Text [ en-US ] = "E~xit Group" ; \

#define ITEM_GROUP_MENU \
    MenuItem\
    {\
        Identifier = SID_MN_GROUP ; \
        Command = ".uno:GroupMenu" ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                MenuItem\
                {\
                    ITEM_POPUP_GROUP\
                };\
                MenuItem\
                {\
                    ITEM_POPUP_UNGROUP\
                };\
                MenuItem\
                {\
                    ITEM_POPUP_ENTER_GROUP\
                };\
                MenuItem\
                {\
                    ITEM_POPUP_LEAVE_GROUP\
                };\
            };\
        };\
        Text [ en-US ] = "~Group" ; \
			};

#define ITEM_DATASOURCE_ADMINISTRATION \
    MenuItem \
    { \
        Identifier = SID_DATASOURCE_ADMINISTRATION ; \
		Command = ".uno:DatasourceAdministration" ; \
        Text [ en-US ] = "~Data Sources..." ; \
	};

#define ITEM_VIEW_DATA_SOURCE_BROWSER \
	Identifier = SID_VIEW_DATA_SOURCE_BROWSER; \
	Command = ".uno:ViewDataSourceBrowser" ; \
		Text [ en-US ] = "~Data Sources" ; \

/*------------------------------------------------------------------------
 Beschreibung: Toolbar-IDs
------------------------------------------------------------------------*/
#define ITEM_TOOLBAR_SET_JUSTIFY_PARA \
    Identifier = SID_ATTR_PARA_ADJUST_BLOCK ; \
	Command = ".uno:JustifyPara" ; \

#define ITEM_TOOLBAR_NEWDOCDIRECT \
    Identifier = SID_NEWDOCDIRECT ; \
	Command = ".uno:AddDirect" ; \

#define ITEM_TOOLBAR_PRINTDOCDIRECT \
    Identifier = SID_PRINTDOCDIRECT ; \
	Command = ".uno:PrintDefault" ; \

#define ITEM_TOOLBAR_INSERT_DRAW \
    Identifier = SID_INSERT_DRAW ; \
	Command = ".uno:InsertDraw" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_CHOOSE_CONTROLS \
    Identifier = SID_CHOOSE_CONTROLS ; \
	Command = ".uno:ChooseControls" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_AUTOSPELL_CHECK \
    Identifier = SID_AUTOSPELL_CHECK ; \
	Command = ".uno:SpellOnline" ; \

#define ITEM_TOOLBAR_TEMPLATE_APPLY \
    Identifier = SID_STYLE_APPLY ; \
	Command = ".uno:StyleApply" ; \

#define ITEM_TOOLBAR_ATTR_CHAR_COLOR \
    Identifier = SID_ATTR_CHAR_COLOR ; \
	Command = ".uno:Color" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_BACKGROUND_PATTERN \
    Identifier = SID_BACKGROUND_PATTERN ; \
	Command = ".uno:BackgroundPatternController" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_BACKGROUND_COLOR \
    Identifier = SID_BACKGROUND_COLOR ; \
	Command = ".uno:BackgroundColor" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_ATTR_BORDER \
    Identifier = SID_ATTR_BORDER ; \
	Command = ".uno:BorderStyle" ; \

#define ITEM_TOOLBAR_FRAME_LINESTYLE \
    Identifier = SID_FRAME_LINESTYLE ; \
	Command = ".uno:LineStyle" ; \

#define ITEM_TOOLBAR_FRAME_LINECOLOR \
    Identifier = SID_FRAME_LINECOLOR ; \
	Command = ".uno:FrameLineColor" ; \

#define ITEM_TOOLBAR_SIM_START \
    Identifier = SID_SIM_START ; \
	Command = ".uno:LaunchStarImage" ; \

#define ITEM_TOOLBAR_ATTR_LINEEND_STYLE \
    Identifier = SID_ATTR_LINEEND_STYLE ; \
	Command = ".uno:LineEndStyle" ; \
    DropDown = TRUE ;

#define ITEM_TOOLBAR_ATTR_LINE_STYLE \
    Identifier = SID_ATTR_LINE_STYLE ; \
	Command = ".uno:XLineStyle" ; \

#define ITEM_TOOLBAR_ATTR_LINE_WIDTH \
    Identifier = SID_ATTR_LINE_WIDTH ; \
	Command = ".uno:LineWidth" ; \

#define ITEM_TOOLBAR_ATTR_LINE_COLOR \
    Identifier = SID_ATTR_LINE_COLOR ; \
	Command = ".uno:XLineColor" ; \

#define ITEM_TOOLBAR_ATTR_FILL_STYLE \
    Identifier = SID_ATTR_FILL_STYLE ; \
	Command = ".uno:FillStyle" ; \

#define ITEM_TOOLBAR_OBJECT_ROTATE \
    Identifier = SID_OBJECT_ROTATE ; \
	Command = ".uno:ToggleObjectRotateMode" ; \

#define ITEM_VIEW_OFFICEBAR \
    Identifier = SID_GROUPVIEW; \
    Command = CMD_SID_GROUPVIEW; \
    Text [ en-US ] = "~Office Bar" ; \


#define ITEM_TRANSLITERATE_MENU\
    MenuItem\
    {\
        Identifier = SID_MN_SUB_TRANSLITERATE ; \
        Command = ".uno:TransliterateMenu" ; \
        SubMenu = Menu\
        {\
            ItemList = \
            {\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_SENTENCE_CASE; \
                    Command = ".uno:ChangeCaseToSentenceCase" ; \
                    Text [ en-US ] = "~Sentence case";\
                };\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_LOWER; \
                    Command = ".uno:ChangeCaseToLower" ; \
                    Text [ en-US ] = "~lowercase";\
                };\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_UPPER ; \
					Command = ".uno:ChangeCaseToUpper" ; \
                    Text [ en-US ] = "~UPPERCASE";\
				};\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_TITLE_CASE; \
                    Command = ".uno:ChangeCaseToTitleCase" ; \
                    Text [ en-US ] = "~Capitalize Every Word";\
                };\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_TOGGLE_CASE; \
                    Command = ".uno:ChangeCaseToToggleCase" ; \
                    Text [ en-US ] = "~tOGGLE cASE";\
                };\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_HALFWIDTH; \
					Command = ".uno:ChangeCaseToHalfWidth" ; \
					Text [ en-US ] = "H~alf-width";\
				};\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_FULLWIDTH; \
					Command = ".uno:ChangeCaseToFullWidth" ; \
					Text [ en-US ] = "Full-width";\
				};\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_HIRAGANA; \
					Command = ".uno:ChangeCaseToHiragana" ; \
					Text [ en-US ] = "~Hiragana";\
				};\
                MenuItem\
                {\
                    Identifier = SID_TRANSLITERATE_KATAGANA; \
                    Command = ".uno:ChangeCaseToKatakana" ; \
					Text [ en-US ] = "~Katakana";\
				};\
            };\
        };\
		Text [ en-US ] = "Case/Characters";\
			};

#define ITEM_OPEN_HYPERLINK \
    Identifier = SID_OPEN_HYPERLINK ; \
    Command = CMD_SID_OPEN_HYPERLINK; \
    Text [ en-US ] = "~Open Hyperlink" ;	\

#define ITEM_OPEN_SMARTTAGMENU \
    Identifier = SID_OPEN_SMARTTAGMENU ; \
    Command = CMD_SID_OPEN_SMARTTAGMENU; \
    Text [ en-US ] = "Open ~Smart Tag Menu" ;	\


#define ITEM_OPEN_XML_FILTERSETTINGS \
	Identifier = SID_OPEN_XML_FILTERSETTINGS ; \
    Command = CMD_SID_OPEN_XML_FILTERSETTINGS; \
		Text [ en-US ] = "~XML Filter Settings...";	\

#define ITEM_HANGUL_HANJA_CONVERSION \
	Identifier = SID_HANGUL_HANJA_CONVERSION; \
    Command = CMD_SID_HANGUL_HANJA_CONVERSION; \
    Text [ en-US ] = "Hangul/Hanja Conversion...";     \

#endif // #ifndef _GLOBLMN_HRC
