/**************************************************************
 * 
 * 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 _EXTENSIONS_FORMSCTRLR_FORMSTRINGS_HXX_
#define _EXTENSIONS_FORMSCTRLR_FORMSTRINGS_HXX_

#include "stringdefine.hxx"

//............................................................................
namespace pcr
{
//............................................................................

	PCR_CONSTASCII_STRING( PROPERTY_DEFAULTCONTROL,			"DefaultControl" );
	PCR_CONSTASCII_STRING( PROPERTY_INTROSPECTEDOBJECT,		"IntrospectedObject" );
	PCR_CONSTASCII_STRING( PROPERTY_CURRENTPAGE,			"CurrentPage" );
	PCR_CONSTASCII_STRING( PROPERTY_CONTROLCONTEXT,         "ControlContext" );

    // properties
	PCR_CONSTASCII_STRING( PROPERTY_CLASSID,				"ClassId" );
	PCR_CONSTASCII_STRING( PROPERTY_CONTROLLABEL,			"LabelControl");
	PCR_CONSTASCII_STRING( PROPERTY_LABEL,					"Label");
	PCR_CONSTASCII_STRING( PROPERTY_TABINDEX,				"TabIndex");
    PCR_CONSTASCII_STRING( PROPERTY_WHEEL_BEHAVIOR,         "MouseWheelBehavior");
	PCR_CONSTASCII_STRING( PROPERTY_TAG,					"Tag");
	PCR_CONSTASCII_STRING( PROPERTY_NAME,					"Name");
	PCR_CONSTASCII_STRING( PROPERTY_VALUE,					"Value");
	PCR_CONSTASCII_STRING( PROPERTY_TEXT,					"Text");
	PCR_CONSTASCII_STRING( PROPERTY_NAVIGATION,				"NavigationBarMode");
	PCR_CONSTASCII_STRING( PROPERTY_CYCLE,					"Cycle");
	PCR_CONSTASCII_STRING( PROPERTY_CONTROLSOURCE,			"DataField");
    PCR_CONSTASCII_STRING( PROPERTY_INPUT_REQUIRED,         "InputRequired");
	PCR_CONSTASCII_STRING( PROPERTY_ENABLED,				"Enabled");
    PCR_CONSTASCII_STRING( PROPERTY_ENABLE_VISIBLE,         "EnableVisible" );
	PCR_CONSTASCII_STRING( PROPERTY_READONLY,				"ReadOnly");
	PCR_CONSTASCII_STRING( PROPERTY_ISREADONLY,				"IsReadOnly");
	PCR_CONSTASCII_STRING( PROPERTY_FILTER,		            "Filter");
	PCR_CONSTASCII_STRING( PROPERTY_WIDTH,					"Width");
	PCR_CONSTASCII_STRING( PROPERTY_MULTILINE,				"MultiLine");
	PCR_CONSTASCII_STRING( PROPERTY_WORDBREAK,				"WordBreak");
	PCR_CONSTASCII_STRING( PROPERTY_TARGET_URL,				"TargetURL");
	PCR_CONSTASCII_STRING( PROPERTY_TARGET_FRAME,			"TargetFrame");
	PCR_CONSTASCII_STRING( PROPERTY_MAXTEXTLEN,				"MaxTextLen");
	PCR_CONSTASCII_STRING( PROPERTY_EDITMASK,				"EditMask");
	PCR_CONSTASCII_STRING( PROPERTY_SPIN,					"Spin");
	PCR_CONSTASCII_STRING( PROPERTY_TRISTATE,				"TriState");
	PCR_CONSTASCII_STRING( PROPERTY_HIDDEN_VALUE,			"HiddenValue");
	PCR_CONSTASCII_STRING( PROPERTY_BUTTONTYPE,				"ButtonType");
	PCR_CONSTASCII_STRING( PROPERTY_XFORMS_BUTTONTYPE,      "XFormsButtonType");
	PCR_CONSTASCII_STRING( PROPERTY_STRINGITEMLIST,			"StringItemList");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_TEXT,			"DefaultText");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_STATE,			"DefaultState");
	PCR_CONSTASCII_STRING( PROPERTY_FORMATKEY,				"FormatKey");
	PCR_CONSTASCII_STRING( PROPERTY_FORMATSSUPPLIER,		"FormatsSupplier");
	PCR_CONSTASCII_STRING( PROPERTY_SUBMIT_ACTION,			"SubmitAction");
	PCR_CONSTASCII_STRING( PROPERTY_SUBMIT_TARGET,			"SubmitTarget");
	PCR_CONSTASCII_STRING( PROPERTY_SUBMIT_METHOD,			"SubmitMethod");
	PCR_CONSTASCII_STRING( PROPERTY_SUBMIT_ENCODING,		"SubmitEncoding");
	PCR_CONSTASCII_STRING( PROPERTY_IMAGE_URL,				"ImageURL");
	PCR_CONSTASCII_STRING( PROPERTY_EMPTY_IS_NULL,			"ConvertEmptyToNull");
	PCR_CONSTASCII_STRING( PROPERTY_LISTSOURCETYPE,			"ListSourceType");
	PCR_CONSTASCII_STRING( PROPERTY_LISTSOURCE,				"ListSource");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_SELECT_SEQ,		"DefaultSelection");
	PCR_CONSTASCII_STRING( PROPERTY_MULTISELECTION,			"MultiSelection");
	PCR_CONSTASCII_STRING( PROPERTY_ALIGN,					"Align");
	PCR_CONSTASCII_STRING( PROPERTY_VERTICAL_ALIGN,         "VerticalAlign");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_DATE,			"DefaultDate");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_TIME,			"DefaultTime");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_VALUE,			"DefaultValue");
	PCR_CONSTASCII_STRING( PROPERTY_DECIMAL_ACCURACY,		"DecimalAccuracy");
	PCR_CONSTASCII_STRING( PROPERTY_REFVALUE,				"RefValue");
	PCR_CONSTASCII_STRING( PROPERTY_UNCHECKEDREFVALUE,      "SecondaryRefValue");
	PCR_CONSTASCII_STRING( PROPERTY_VALUEMIN,				"ValueMin");
	PCR_CONSTASCII_STRING( PROPERTY_VALUEMAX,				"ValueMax");
    PCR_CONSTASCII_STRING( PROPERTY_STRICTFORMAT,			"StrictFormat");
	PCR_CONSTASCII_STRING( PROPERTY_ALLOWADDITIONS,			"AllowInserts");
	PCR_CONSTASCII_STRING( PROPERTY_ALLOWEDITS,				"AllowUpdates");
	PCR_CONSTASCII_STRING( PROPERTY_ALLOWDELETIONS,			"AllowDeletes");
	PCR_CONSTASCII_STRING( PROPERTY_MASTERFIELDS,			"MasterFields");
	PCR_CONSTASCII_STRING( PROPERTY_LITERALMASK,			"LiteralMask");
	PCR_CONSTASCII_STRING( PROPERTY_VALUESTEP,				"ValueStep");
	PCR_CONSTASCII_STRING( PROPERTY_SHOWTHOUSANDSEP,		"ShowThousandsSeparator");
	PCR_CONSTASCII_STRING( PROPERTY_CURRENCYSYMBOL,			"CurrencySymbol");
	PCR_CONSTASCII_STRING( PROPERTY_DATEFORMAT,				"DateFormat");
    PCR_CONSTASCII_STRING( PROPERTY_DATEMIN,				"DateMin");
	PCR_CONSTASCII_STRING( PROPERTY_DATEMAX,				"DateMax");
	PCR_CONSTASCII_STRING( PROPERTY_TIMEFORMAT,				"TimeFormat");
	PCR_CONSTASCII_STRING( PROPERTY_TIMEMIN,				"TimeMin");
	PCR_CONSTASCII_STRING( PROPERTY_TIMEMAX,				"TimeMax");
	PCR_CONSTASCII_STRING( PROPERTY_LINECOUNT,				"LineCount");
	PCR_CONSTASCII_STRING( PROPERTY_BOUNDCOLUMN,			"BoundColumn");
	PCR_CONSTASCII_STRING( PROPERTY_BACKGROUNDCOLOR,		"BackgroundColor");
	PCR_CONSTASCII_STRING( PROPERTY_FILLCOLOR,				"FillColor");
	PCR_CONSTASCII_STRING( PROPERTY_TEXTCOLOR,				"TextColor");
	PCR_CONSTASCII_STRING( PROPERTY_LINECOLOR,				"LineColor");
	PCR_CONSTASCII_STRING( PROPERTY_BORDER,					"Border");
	PCR_CONSTASCII_STRING( PROPERTY_ICONSIZE,				"IconSize");
	PCR_CONSTASCII_STRING( PROPERTY_DROPDOWN,				"Dropdown");
	PCR_CONSTASCII_STRING( PROPERTY_HSCROLL,				"HScroll");
	PCR_CONSTASCII_STRING( PROPERTY_VSCROLL,				"VScroll");
	PCR_CONSTASCII_STRING( PROPERTY_SHOW_SCROLLBARS,        "ShowScrollbars");
	PCR_CONSTASCII_STRING( PROPERTY_TABSTOP,				"Tabstop");
	PCR_CONSTASCII_STRING( PROPERTY_AUTOCOMPLETE,			"Autocomplete");
	PCR_CONSTASCII_STRING( PROPERTY_PRINTABLE,				"Printable");
	PCR_CONSTASCII_STRING( PROPERTY_ECHO_CHAR,				"EchoChar");
	PCR_CONSTASCII_STRING( PROPERTY_ROWHEIGHT,				"RowHeight");
	PCR_CONSTASCII_STRING( PROPERTY_HELPTEXT,				"HelpText");
	PCR_CONSTASCII_STRING( PROPERTY_FONT,                   "FontDescriptor");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_NAME,              "FontName");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_STYLENAME,			"FontStyleName");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_FAMILY,			"FontFamily");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_CHARSET,			"FontCharset");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_HEIGHT,			"FontHeight");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_WEIGHT,			"FontWeight");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_SLANT,				"FontSlant");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_UNDERLINE,			"FontUnderline");
	PCR_CONSTASCII_STRING( PROPERTY_FONT_STRIKEOUT,			"FontStrikeout");
    PCR_CONSTASCII_STRING( PROPERTY_FONT_RELIEF,			"FontRelief");
    PCR_CONSTASCII_STRING( PROPERTY_FONT_EMPHASIS_MARK,		"FontEmphasisMark");
	PCR_CONSTASCII_STRING( PROPERTY_TEXTLINECOLOR,			"TextLineColor");
	PCR_CONSTASCII_STRING( PROPERTY_HELPURL,				"HelpURL");
	PCR_CONSTASCII_STRING( PROPERTY_RECORDMARKER,			"HasRecordMarker");
	PCR_CONSTASCII_STRING( PROPERTY_EFFECTIVE_DEFAULT,		"EffectiveDefault");
	PCR_CONSTASCII_STRING( PROPERTY_EFFECTIVE_MIN,			"EffectiveMin");
	PCR_CONSTASCII_STRING( PROPERTY_EFFECTIVE_MAX,			"EffectiveMax");
	PCR_CONSTASCII_STRING( PROPERTY_FILTERPROPOSAL,			"UseFilterValueProposal");
	PCR_CONSTASCII_STRING( PROPERTY_CURRSYM_POSITION,		"PrependCurrencySymbol");
	PCR_CONSTASCII_STRING( PROPERTY_COMMAND,				"Command");
	PCR_CONSTASCII_STRING( PROPERTY_COMMANDTYPE,			"CommandType");
	PCR_CONSTASCII_STRING( PROPERTY_INSERTONLY,				"IgnoreResult");
	PCR_CONSTASCII_STRING( PROPERTY_ESCAPE_PROCESSING,		"EscapeProcessing");
	PCR_CONSTASCII_STRING( PROPERTY_TITLE,					"Title");
	PCR_CONSTASCII_STRING( PROPERTY_SORT,					"Order");
	PCR_CONSTASCII_STRING( PROPERTY_DATASOURCE,				"DataSourceName");
	PCR_CONSTASCII_STRING( PROPERTY_DETAILFIELDS,			"DetailFields");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULTBUTTON,			"DefaultButton");
	PCR_CONSTASCII_STRING( PROPERTY_LISTINDEX,				"ListIndex");
	PCR_CONSTASCII_STRING( PROPERTY_HEIGHT,					"Height");
	PCR_CONSTASCII_STRING( PROPERTY_HASNAVIGATION,			"HasNavigationBar");
	PCR_CONSTASCII_STRING( PROPERTY_POSITIONX,				"PositionX");
	PCR_CONSTASCII_STRING( PROPERTY_POSITIONY,				"PositionY");
	PCR_CONSTASCII_STRING( PROPERTY_STEP,					"Step");
	PCR_CONSTASCII_STRING( PROPERTY_WORDLINEMODE,			"FontWordLineMode");
    PCR_CONSTASCII_STRING( PROPERTY_PROGRESSVALUE,			"ProgressValue");
	PCR_CONSTASCII_STRING( PROPERTY_PROGRESSVALUE_MIN,		"ProgressValueMin");
	PCR_CONSTASCII_STRING( PROPERTY_PROGRESSVALUE_MAX,		"ProgressValueMax");
    PCR_CONSTASCII_STRING( PROPERTY_SCROLLVALUE,			"ScrollValue");
	PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_SCROLLVALUE,	"DefaultScrollValue");
    PCR_CONSTASCII_STRING( PROPERTY_SCROLLVALUE_MIN,		"ScrollValueMin");
    PCR_CONSTASCII_STRING( PROPERTY_SCROLLVALUE_MAX,		"ScrollValueMax");
    PCR_CONSTASCII_STRING( PROPERTY_LINEINCREMENT,			"LineIncrement");
    PCR_CONSTASCII_STRING( PROPERTY_BLOCKINCREMENT,			"BlockIncrement");
    PCR_CONSTASCII_STRING( PROPERTY_VISIBLESIZE,			"VisibleSize");
    PCR_CONSTASCII_STRING( PROPERTY_ORIENTATION,			"Orientation");
    PCR_CONSTASCII_STRING( PROPERTY_IMAGEPOSITION,          "ImagePosition");
    PCR_CONSTASCII_STRING( PROPERTY_ACTIVE_CONNECTION,		"ActiveConnection");
    PCR_CONSTASCII_STRING( PROPERTY_ACTIVECOMMAND,		    "ActiveCommand");
    PCR_CONSTASCII_STRING( PROPERTY_DATE,   				"Date");
    PCR_CONSTASCII_STRING( PROPERTY_STATE,   				"State");
    PCR_CONSTASCII_STRING( PROPERTY_TIME,   				"Time");
    PCR_CONSTASCII_STRING( PROPERTY_SCALEIMAGE,   			"ScaleImage");
    PCR_CONSTASCII_STRING( PROPERTY_SCALE_MODE,             "ScaleMode");
    PCR_CONSTASCII_STRING( PROPERTY_PUSHBUTTONTYPE,   		"PushButtonType");
    PCR_CONSTASCII_STRING( PROPERTY_EFFECTIVE_VALUE,		"EffectiveValue");
    PCR_CONSTASCII_STRING( PROPERTY_SELECTEDITEMS,          "SelectedItems");
    PCR_CONSTASCII_STRING( PROPERTY_REPEAT,                 "Repeat");
    PCR_CONSTASCII_STRING( PROPERTY_REPEAT_DELAY,           "RepeatDelay");
    PCR_CONSTASCII_STRING( PROPERTY_SYMBOLCOLOR,            "SymbolColor");
    PCR_CONSTASCII_STRING( PROPERTY_SPINVALUE,              "SpinValue");
    PCR_CONSTASCII_STRING( PROPERTY_SPINVALUE_MIN,          "SpinValueMin");
    PCR_CONSTASCII_STRING( PROPERTY_SPINVALUE_MAX,          "SpinValueMax");
    PCR_CONSTASCII_STRING( PROPERTY_DEFAULT_SPINVALUE,      "DefaultSpinValue");
    PCR_CONSTASCII_STRING( PROPERTY_SPININCREMENT,          "SpinIncrement");
    PCR_CONSTASCII_STRING( PROPERTY_SHOW_POSITION,          "ShowPosition" );
    PCR_CONSTASCII_STRING( PROPERTY_SHOW_NAVIGATION,        "ShowNavigation" );
    PCR_CONSTASCII_STRING( PROPERTY_SHOW_RECORDACTIONS,     "ShowRecordActions" );
    PCR_CONSTASCII_STRING( PROPERTY_SHOW_FILTERSORT,        "ShowFilterSort" );
    PCR_CONSTASCII_STRING( PROPERTY_LINEEND_FORMAT,         "LineEndFormat");
    PCR_CONSTASCII_STRING( PROPERTY_DECORATION,             "Decoration" );
	PCR_CONSTASCII_STRING( PROPERTY_NOLABEL,                "NoLabel" );

	PCR_CONSTASCII_STRING( PROPERTY_SELECTION_TYPE,         "SelectionType");
	PCR_CONSTASCII_STRING( PROPERTY_ROOT_DISPLAYED,         "RootDisplayed");
	PCR_CONSTASCII_STRING( PROPERTY_SHOWS_HANDLES,          "ShowsHandles");
	PCR_CONSTASCII_STRING( PROPERTY_SHOWS_ROOT_HANDLES,     "ShowsRootHandles");
	PCR_CONSTASCII_STRING( PROPERTY_EDITABLE,               "Editable");
	PCR_CONSTASCII_STRING( PROPERTY_INVOKES_STOP_NOT_EDITING, "InvokesStopNodeEditing");
	
    PCR_CONSTASCII_STRING( PROPERTY_HARDLINEBREAKS,         "HardLineBreaks");

    PCR_CONSTASCII_STRING( PROPERTY_TOGGLE,                 "Toggle" );
    PCR_CONSTASCII_STRING( PROPERTY_FOCUSONCLICK,           "FocusOnClick" );
    PCR_CONSTASCII_STRING( PROPERTY_HIDEINACTIVESELECTION,  "HideInactiveSelection" );
    PCR_CONSTASCII_STRING( PROPERTY_VISUALEFFECT,           "VisualEffect" );
    PCR_CONSTASCII_STRING( PROPERTY_BORDERCOLOR,            "BorderColor" );

    PCR_CONSTASCII_STRING( PROPERTY_ADDRESS,		        "Address");
    PCR_CONSTASCII_STRING( PROPERTY_REFERENCE_SHEET,		"ReferenceSheet");
    PCR_CONSTASCII_STRING( PROPERTY_UI_REPRESENTATION,		"UserInterfaceRepresentation");

    PCR_CONSTASCII_STRING( PROPERTY_XML_DATA_MODEL,         "XMLDataModel" );
    PCR_CONSTASCII_STRING( PROPERTY_BINDING_NAME,           "BindingName" );
    PCR_CONSTASCII_STRING( PROPERTY_BIND_EXPRESSION,        "BindingExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_LIST_BINDING,           "ListBinding" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_REQUIRED,           "RequiredExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_RELEVANT,           "RelevantExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_READONLY,           "ReadonlyExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_CONSTRAINT,         "ConstraintExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_CALCULATION,        "CalculateExpression" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_DATA_TYPE,          "Type" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_WHITESPACES,        "WhiteSpace" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_PATTERN,            "Pattern" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_LENGTH,             "Length" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_LENGTH,         "MinLength" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_LENGTH,         "MaxLength" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_TOTAL_DIGITS,       "TotalDigits" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_FRACTION_DIGITS,    "FractionDigits" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_INCLUSIVE_INT,  "MaxInclusiveInt" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_EXCLUSIVE_INT,  "MaxExclusiveInt" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_INCLUSIVE_INT,  "MinInclusiveInt" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_EXCLUSIVE_INT,  "MinExclusiveInt" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_INCLUSIVE_DOUBLE, "MaxInclusiveDouble" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_EXCLUSIVE_DOUBLE, "MaxExclusiveDouble" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_INCLUSIVE_DOUBLE, "MinInclusiveDouble" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_EXCLUSIVE_DOUBLE, "MinExclusiveDouble" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_INCLUSIVE_DATE, "MaxInclusiveDate" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_EXCLUSIVE_DATE, "MaxExclusiveDate" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_INCLUSIVE_DATE, "MinInclusiveDate" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_EXCLUSIVE_DATE, "MinExclusiveDate" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_INCLUSIVE_TIME, "MaxInclusiveTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_EXCLUSIVE_TIME, "MaxExclusiveTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_INCLUSIVE_TIME, "MinInclusiveTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_EXCLUSIVE_TIME, "MinExclusiveTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_INCLUSIVE_DATE_TIME, "MaxInclusiveDateTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MAX_EXCLUSIVE_DATE_TIME, "MaxExclusiveDateTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_INCLUSIVE_DATE_TIME, "MinInclusiveDateTime" );
    PCR_CONSTASCII_STRING( PROPERTY_XSD_MIN_EXCLUSIVE_DATE_TIME, "MinExclusiveDateTime" );
    PCR_CONSTASCII_STRING( PROPERTY_SUBMISSION_ID,          "SubmissionID" );
    PCR_CONSTASCII_STRING( PROPERTY_BINDING_ID,             "BindingID" );
    PCR_CONSTASCII_STRING( PROPERTY_ID,                     "ID" );
    PCR_CONSTASCII_STRING( PROPERTY_WRITING_MODE,           "WritingMode" );
    PCR_CONSTASCII_STRING( PROPERTY_TEXT_ANCHOR_TYPE,       "TextAnchorType" );
    PCR_CONSTASCII_STRING( PROPERTY_SHEET_ANCHOR_TYPE,      "SheetAnchorType" );
    PCR_CONSTASCII_STRING( PROPERTY_ANCHOR_TYPE,            "AnchorType" );
    PCR_CONSTASCII_STRING( PROPERTY_ANCHOR,                 "Anchor" );
    PCR_CONSTASCII_STRING( PROPERTY_IS_VISIBLE,             "IsVisible" );

    PCR_CONSTASCII_STRING( PROPERTY_MODEL,                  "Model" );

    PCR_CONSTASCII_STRING( PROPERTY_CELL_EXCHANGE_TYPE,		"ExchangeSelectionIndex");
    PCR_CONSTASCII_STRING( PROPERTY_BOUND_CELL,		        "BoundCell");
    PCR_CONSTASCII_STRING( PROPERTY_LIST_CELL_RANGE,		"CellRange");
    PCR_CONSTASCII_STRING( PROPERTY_AUTOLINEBREAK,          "AutomaticLineBreak");
    PCR_CONSTASCII_STRING( PROPERTY_TEXTTYPE,               "TextType");
    PCR_CONSTASCII_STRING( PROPERTY_RICHTEXT,               "RichText");
    PCR_CONSTASCII_STRING( PROPERTY_ROWSET,                 "RowSet");

	// services
	PCR_CONSTASCII_STRING( SERVICE_COMPONENT_GROUPBOX,		"com.sun.star.form.component.GroupBox" );
	PCR_CONSTASCII_STRING( SERVICE_COMPONENT_FIXEDTEXT,		"com.sun.star.form.component.FixedText" );
	PCR_CONSTASCII_STRING( SERVICE_COMPONENT_FORMATTEDFIELD,"com.sun.star.form.component.FormattedField" );
	PCR_CONSTASCII_STRING( SERVICE_DATABASE_CONTEXT,		"com.sun.star.sdb.DatabaseContext" );

    PCR_CONSTASCII_STRING( SERVICE_TEXT_DOCUMENT,           "com.sun.star.text.TextDocument" );
    PCR_CONSTASCII_STRING( SERVICE_WEB_DOCUMENT,            "com.sun.star.text.WebDocument" );
    PCR_CONSTASCII_STRING( SERVICE_SPREADSHEET_DOCUMENT,    "com.sun.star.sheet.SpreadsheetDocument" );
    PCR_CONSTASCII_STRING( SERVICE_DRAWING_DOCUMENT,        "com.sun.star.drawing.DrawingDocument" );
    PCR_CONSTASCII_STRING( SERVICE_PRESENTATION_DOCUMENT,   "com.sun.star.presentation.PresentationDocument" );

    PCR_CONSTASCII_STRING( SERVICE_SHEET_CELL_BINDING,      "com.sun.star.table.CellValueBinding" );
    PCR_CONSTASCII_STRING( SERVICE_SHEET_CELL_INT_BINDING,  "com.sun.star.table.ListPositionCellBinding" );
    PCR_CONSTASCII_STRING( SERVICE_SHEET_CELLRANGE_LISTSOURCE, "com.sun.star.table.CellRangeListSource" );
    PCR_CONSTASCII_STRING( SERVICE_ADDRESS_CONVERSION,      "com.sun.star.table.CellAddressConversion" );
    PCR_CONSTASCII_STRING( SERVICE_RANGEADDRESS_CONVERSION, "com.sun.star.table.CellRangeAddressConversion" );

    PCR_CONSTASCII_STRING( SERVICE_DESKTOP,                 "com.sun.star.frame.Desktop" );

//............................................................................
} // namespace pcr
//............................................................................

#endif // _EXTENSIONS_FORMSCTRLR_FORMSTRINGS_HXX_

