/**************************************************************
 *
 * 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.
 *
 *************************************************************/



// include ---------------------------------------------------------------
#include <sfx2/sfx.hrc>
#include "macropg.hrc"
#include <cuires.hrc>
#include "helpid.hrc"
#include <svx/dialogs.hrc>

TabPage RID_SVXPAGE_MACROASSIGN
{
	HelpID = "cui:TabPage:RID_SVXPAGE_MACROASSIGN" ;
	Hide = TRUE ;
	OutputSize = TRUE ;
	SVLook = TRUE ;
	Size = MAP_APPFONT ( WIDTH_TP, HEIGHT_TP ) ;
	Text [ en-US ] = "Assign action" ;
	String STR_EVENT
	{
		Text [ en-US ] = "Event" ;
	};
	String STR_ASSMACRO
	{
		Text [ en-US ] = "Assigned Action" ;
	};
	Control LB_EVENT
	{
		Border = TRUE ;
		TabStop = TRUE ;
		Pos = MAP_APPFONT ( COL0, ROW0 ) ;
		Size = MAP_APPFONT ( WIDTH1_2, HEIGHT0 ) ;
		HelpID = HID_SVX_MACRO_LB_EVENT ;
	};
	FixedText FT_ASSIGN
	{
		Pos = MAP_APPFONT ( COL4, ROW0 ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT ) ;
		Text [ en-US ] = "Assign:" ;
	};
	PushButton PB_ASSIGN
	{
		HelpID = "cui:PushButton:RID_SVXPAGE_MACROASSIGN:PB_ASSIGN" ;
		Pos = MAP_APPFONT ( COL4, ROW0A ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
		Text [ en-US ] = "M~acro..." ;
		Disable = TRUE ;
		TabStop = TRUE ;
	};
	PushButton PB_ASSIGN_COMPONENT
	{
		HelpID = "cui:PushButton:RID_SVXPAGE_MACROASSIGN:PB_ASSIGN_COMPONENT" ;
		Pos = MAP_APPFONT ( COL4, ROW2 ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
		Disable = TRUE ;
		TabStop = TRUE ;
		Text [ en-US ] = "Com~ponent..." ;
	};
	PushButton PB_DELETE
	{
		HelpID = "cui:PushButton:RID_SVXPAGE_MACROASSIGN:PB_DELETE" ;
		Pos = MAP_APPFONT ( COL4, ROW5_REMOVE ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
		Text [ en-US ] = "~Remove" ;
		Disable = TRUE ;
		TabStop = TRUE ;
	};
	Image IMG_MACRO
	{
		ImageBitmap = Bitmap { File = "id018.png" ; };
	};
	Image IMG_COMPONENT
	{
		ImageBitmap = Bitmap { File = "component_16.png" ; };
	};
	Image IMG_MACRO_H
	{
		ImageBitmap = Bitmap { File = "idh018.png" ; };
	};
	Image IMG_COMPONENT_H
	{
		ImageBitmap = Bitmap { File = "component_16_h.png" ; };
	};
};

ModalDialog RID_SVXDLG_ASSIGNCOMPONENT
{
	HelpID = "cui:ModalDialog:RID_SVXDLG_ASSIGNCOMPONENT" ;
	OutputSize = TRUE ;
	SVLook = TRUE ;
	Size = MAP_APPFONT ( COMP_WIDTH, COMP_HEIGHT ) ;
	Moveable = TRUE ;
	Closeable = TRUE ;
	Text [ en-US ] = "Assign Component" ;
	OKButton RID_PB_OK
	{
		Pos = MAP_APPFONT ( COMP_COL1, COMP_ROW0 ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
		TabStop = TRUE ;
		DefButton = TRUE ;
	};
	CancelButton RID_PB_CANCEL
	{
		Pos = MAP_APPFONT ( COMP_COL1, COMP_ROW1 ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
		TabStop = TRUE ;
	};
	HelpButton RID_PB_HELP
	{
		Pos = MAP_APPFONT ( COMP_COL1, COMP_ROW2 ) ;
		Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ) ;
	};
	FixedText FT_METHOD
	{
		Pos = MAP_APPFONT ( COMP_COL0, ROW0 ) ;
		Size = MAP_APPFONT ( COMP_EDIT_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT ) ;
		Text [ en-US ] = "Component method name" ;
	};
	Edit EDIT_METHOD
	{
		HelpID = "cui:Edit:RID_SVXDLG_ASSIGNCOMPONENT:EDIT_METHOD" ;
		Border = TRUE ;
		Pos = MAP_APPFONT ( COMP_COL0, COMP_ROWEDIT ) ;
		Size = MAP_APPFONT ( COMP_EDIT_WIDTH, RSC_CD_TEXTBOX_HEIGHT ) ;
		TabStop = TRUE ;
	};
};


// DF
String RID_SVXSTR_EVENT_STARTAPP
{
	Text [ en-US ] = "Start Application" ;
};

String RID_SVXSTR_EVENT_CLOSEAPP
{
	Text [ en-US ] = "Close Application" ;
};

String RID_SVXSTR_EVENT_NEWDOC
{
	Text [ en-US ] = "New Document" ;
};

String RID_SVXSTR_EVENT_CLOSEDOC
{
	Text [ en-US ] = "Document closed" ;
};

String RID_SVXSTR_EVENT_PREPARECLOSEDOC
{
	Text [ en-US ] = "Document is going to be closed" ;
};

String RID_SVXSTR_EVENT_OPENDOC
{
	Text [ en-US ] = "Open Document" ;
};

String RID_SVXSTR_EVENT_SAVEDOC
{
	Text [ en-US ] = "Save Document" ;
};

String RID_SVXSTR_EVENT_SAVEASDOC
{
	Text [ en-US ] = "Save Document As" ;
};

String RID_SVXSTR_EVENT_SAVEDOCDONE
{
	Text [ en-US ] = "Document has been saved" ;
};

String RID_SVXSTR_EVENT_SAVEASDOCDONE
{
	Text [ en-US ] = "Document has been saved as" ;
};

String RID_SVXSTR_EVENT_ACTIVATEDOC
{
	Text [ en-US ] = "Activate Document" ;
};

String RID_SVXSTR_EVENT_DEACTIVATEDOC
{
	Text [ en-US ] = "Deactivate Document" ;
};

String RID_SVXSTR_EVENT_PRINTDOC
{
	Text [ en-US ] = "Print Document" ;
};

String RID_SVXSTR_EVENT_MODIFYCHANGED
{
	Text [ en-US ] = "'Modified' status was changed" ;
};
String RID_SVXSTR_EVENT_MAILMERGE
{
	Text [ en-US ] = "Printing of form letters started" ;
};
String RID_SVXSTR_EVENT_MAILMERGE_END
{
	Text [ en-US ] = "Printing of form letters finished" ;
};
String RID_SVXSTR_EVENT_FIELDMERGE
{
	Text [ en-US ] = "Merging of form fields started" ;
};
String RID_SVXSTR_EVENT_FIELDMERGE_FINISHED
{
	Text [ en-US ] = "Merging of form fields finished" ;
};
String RID_SVXSTR_EVENT_PAGECOUNTCHANGE
{
	Text [ en-US ] = "Changing the page count" ;
};
String RID_SVXSTR_EVENT_SUBCOMPONENT_OPENED
{
	Text [ en-US ] = "Loaded a sub component" ;
};
String RID_SVXSTR_EVENT_SUBCOMPONENT_CLOSED
{
	Text [ en-US ] = "Closed a sub component" ;
};
String RID_SVXSTR_EVENT_APPROVEPARAMETER
{
	Text [ en-US ] = "Fill parameters" ;
};
String RID_SVXSTR_EVENT_ACTIONPERFORMED
{
	Text [ en-US ] = "Execute action" ;
};
String RID_SVXSTR_EVENT_AFTERUPDATE
{
	Text [ en-US ] = "After updating" ;
};
String RID_SVXSTR_EVENT_BEFOREUPDATE
{
	Text [ en-US ] = "Before updating" ;
};
String RID_SVXSTR_EVENT_APPROVEROWCHANGE
{
	Text [ en-US ] = "Before record action" ;
};
String RID_SVXSTR_EVENT_ROWCHANGE
{
	Text [ en-US ] = "After record action" ;
};
String RID_SVXSTR_EVENT_CONFIRMDELETE
{
	Text [ en-US ] = "Confirm deletion" ;
};
String RID_SVXSTR_EVENT_ERROROCCURED
{
	Text [ en-US ] = "Error occurred" ;
};
String RID_SVXSTR_EVENT_ADJUSTMENTVALUECHANGED
{
	Text [ en-US ] = "While adjusting" ;
};
String RID_SVXSTR_EVENT_FOCUSGAINED
{
	Text [ en-US ] = "When receiving focus" ;
};
String RID_SVXSTR_EVENT_FOCUSLOST
{
	Text [ en-US ] = "When losing focus" ;
};
String RID_SVXSTR_EVENT_ITEMSTATECHANGED
{
	Text [ en-US ] = "Item status changed" ;
};
String RID_SVXSTR_EVENT_KEYTYPED
{
	Text [ en-US ] = "Key pressed" ;
};
String RID_SVXSTR_EVENT_KEYUP
{
	Text [ en-US ] = "Key released" ;
};
String RID_SVXSTR_EVENT_LOADED
{
	Text [ en-US ] = "When loading" ;
};
String RID_SVXSTR_EVENT_RELOADING
{
	Text [ en-US ] = "Before reloading" ;
};
String RID_SVXSTR_EVENT_RELOADED
{
	Text [ en-US ] = "When reloading" ;
};
String RID_SVXSTR_EVENT_MOUSEDRAGGED
{
	Text [ en-US ] = "Mouse moved while key pressed" ;
};
String RID_SVXSTR_EVENT_MOUSEENTERED
{
	Text [ en-US ] = "Mouse inside" ;
};
String RID_SVXSTR_EVENT_MOUSEEXITED
{
	Text [ en-US ] = "Mouse outside" ;
};
String RID_SVXSTR_EVENT_MOUSEMOVED
{
	Text [ en-US ] = "Mouse moved" ;
};
String RID_SVXSTR_EVENT_MOUSEPRESSED
{
	Text [ en-US ] = "Mouse button pressed" ;
};
String RID_SVXSTR_EVENT_MOUSERELEASED
{
	Text [ en-US ] = "Mouse button released" ;
};
String RID_SVXSTR_EVENT_POSITIONING
{
	Text [ en-US ] = "Before record change" ;
};
String RID_SVXSTR_EVENT_POSITIONED
{
	Text [ en-US ] = "After record change" ;
};
String RID_SVXSTR_EVENT_RESETTED
{
	Text [ en-US ] = "After resetting" ;
};
String RID_SVXSTR_EVENT_APPROVERESETTED
{
	Text [ en-US ] = "Prior to reset" ;
};
String RID_SVXSTR_EVENT_APPROVEACTIONPERFORMED
{
	Text [ en-US ] = "Approve action" ;
};
String RID_SVXSTR_EVENT_SUBMITTED
{
	Text [ en-US ] = "Before submitting" ;
};
String RID_SVXSTR_EVENT_TEXTCHANGED
{
	Text [ en-US ] = "Text modified" ;
};
String RID_SVXSTR_EVENT_UNLOADING
{
	Text [ en-US ] = "Before unloading" ;
};
String RID_SVXSTR_EVENT_UNLOADED
{
	Text [ en-US ] = "When unloading" ;
};
String RID_SVXSTR_EVENT_CHANGED
{
	Text [ en-US ] = "Changed" ;
};

String RID_SVXSTR_EVENT_CREATEDOC
{
	Text [ en-US ] = "Document created" ;
};

String RID_SVXSTR_EVENT_LOADDOCFINISHED
{
	Text [ en-US ] = "Document loading finished" ;
};

String RID_SVXSTR_EVENT_SAVEDOCFAILED
{
	Text [ en-US ] = "Saving of document failed" ;
};

String RID_SVXSTR_EVENT_SAVEASDOCFAILED
{
	Text [ en-US ] = "'Save as' has failed" ;
};

String RID_SVXSTR_EVENT_COPYTODOC
{
	Text [ en-US ] = "Storing or exporting copy of document" ;
};

String RID_SVXSTR_EVENT_COPYTODOCDONE
{
	Text [ en-US ] = "Document copy has been created" ;
};

String RID_SVXSTR_EVENT_COPYTODOCFAILED
{
	Text [ en-US ] = "Creating of document copy failed" ;
};

String RID_SVXSTR_EVENT_VIEWCREATED
{
	Text [ en-US ] = "View created" ;
};

String RID_SVXSTR_EVENT_PREPARECLOSEVIEW
{
	Text [ en-US ] = "View is going to be closed" ;
};

String RID_SVXSTR_EVENT_CLOSEVIEW
{
	Text [ en-US ] = "View closed" ;
};

String RID_SVXSTR_EVENT_TITLECHANGED
{
	Text [ en-US ] = "Document title changed" ;
};

String RID_SVXSTR_EVENT_MODECHANGED
{
	Text [ en-US ] = "Document mode changed" ;
};

String RID_SVXSTR_EVENT_VISAREACHANGED
{
	Text [ en-US ] = "Visible area changed" ;
};

String RID_SVXSTR_EVENT_STORAGECHANGED
{
	Text [ en-US ] = "Document has got a new storage" ;
};

String RID_SVXSTR_EVENT_LAYOUT_FINISHED
{
	Text [ en-US ] = "Document layout finished" ;
};

String RID_SVXSTR_EVENT_SELECTIONCHANGED
{
	Text [ en-US ] = "Selection changed" ;
};

String RID_SVXSTR_EVENT_DOUBLECLICK
{
	Text [ en-US ] = "Double click" ;
};

String RID_SVXSTR_EVENT_RIGHTCLICK
{
	Text [ en-US ] = "Right click" ;
};

String RID_SVXSTR_EVENT_CALCULATE
{
	Text [ en-US ] = "Formulas calculated" ;
};

String RID_SVXSTR_EVENT_CONTENTCHANGED
{
	Text [ en-US ] = "Content changed" ;
};

// ********************************************************************** EOF
