/*******************************************************************************
 * Copyright (c) 2010 BSI Business Systems Integration AG.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     BSI Business Systems Integration AG - initial API and implementation
 ******************************************************************************/
package org.eclipse.scout.sdk.ui.view.outline.pages;

/**
 * <h3>IScoutPageConstants</h3> ...
 */
public interface IScoutPageConstants {
  String ACCESS_CONTROL_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.AccessControlServiceNodePage";
  String ACCESS_CONTROL_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.AccessControlServiceTablePage";
  String ALL_PAGES_TABLE_PAGE = "org.eclipse.scout.sdk.page.AllPagesTablePage";
  String BEAN_PROPERTY_NODE_PAGE = "org.eclipse.scout.sdk.page.BeanPropertyNodePage";
  String BEAN_PROPERTY_TABLE_PAGE = "org.eclipse.scout.sdk.page.BeanPropertyTablePage";
  String BIG_DECIMAL_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.BigDecimalFieldNodePage";
  String BIG_INTEGER_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.BigIntegerFieldNodePage";
  String BOOKMARK_STORAGE_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.BookmarkStorageServiceNodePage";
  String BOOKMARK_STORAGE_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.BookmarkStorageServiceTablePage";
  String BOOLEAN_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.BooleanFieldNodePage";
  String BUTTON_NODE_PAGE = "org.eclipse.scout.sdk.page.ButtonNodePage";
  String CALENDAR_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.CalendarFieldNodePage";
  String CALENDAR_ITEM_PROVIDER_NODE_PAGE = "org.eclipse.scout.sdk.page.CalendarItemProviderNodePage";
  String CALENDAR_ITEM_PROVIDER_TABLE_PAGE = "org.eclipse.scout.sdk.page.CalendarItemProviderTablePage";
  String CALENDAR_NODE_PAGE = "org.eclipse.scout.sdk.page.CalendarNodePage";
  String CALENDAR_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.CalendarServiceNodePage";
  String CALENDAR_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.CalendarServiceTablePage";
  String CHECK_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.CheckBoxNodePage";
  String CLIENT_LOOKUP_CALL_TABLE_PAGE = "org.eclipse.scout.sdk.page.ClientLookupCallTablePage";
  String CLIENT_NODE_PAGE = "org.eclipse.scout.sdk.page.ClientNodePage";
  String CLIENT_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.ClientServiceNodePage";
  String CLIENT_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.ClientServiceTablePage";
  String CLIENT_SESSION_NODE_PAGE = "org.eclipse.scout.sdk.page.ClientSessionNodePage";
  String CODE_NODE_PAGE = "org.eclipse.scout.sdk.page.CodeNodePage";
  String CODE_TYPE_NODE_PAGE = "org.eclipse.scout.sdk.page.CodeTypeNodePage";
  String CODE_TYPE_TABLE_PAGE = "org.eclipse.scout.sdk.page.CodeTypeTablePage";
  String COLUMN_NODE_PAGE = "org.eclipse.scout.sdk.page.ColumnNodePage";
  String COLUMN_TABLE_PAGE = "org.eclipse.scout.sdk.page.ColumnTablePage";
  String COMMON_SERVICES_NODE_PAGE = "org.eclipse.scout.sdk.page.CommonServicesNodePage";
  String COMPOSER_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.ComposerFieldNodePage";
  String COMPOSER_FIELD_ENTITY_TABLE_PAGE = "org.eclipse.scout.sdk.page.ComposerField.EntityTablePage";
  String COMPOSER_FIELD_ENTITY_NODE_PAGE = "org.eclipse.scout.sdk.page.ComposerField.EntityNodePage";
  String COMPOSER_FIELD_ATTRIBUTE_TABLE_PAGE = "org.eclipse.scout.sdk.page.ComposerField.AttributeTablePage";
  String COMPOSER_FIELD_ATTRIBUTE_NODE_PAGE = "org.eclipse.scout.sdk.page.ComposerField.AttributeNodePage";
  String CUSTOM_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.CustomFieldNodePage";
  String DATE_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.DateFieldNodePage";
  String DESKTOP_NODE_PAGE = "org.eclipse.scout.sdk.page.DesktopNodePage";
  String DESKTOP_EXTENSION_NODE_PAGE = "org.eclipse.scout.sdk.page.DesktopExtensionNodePage";
  String DESKTOP_OUTLINE_TABLE_PAGE = "org.eclipse.scout.sdk.page.DesktopOutlineTablePage";
  String DOUBLE_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.DoubleFieldNodePage";
  String FILE_CHOOSER_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.FileChooserFieldNodePage";
  String FORM_TEMPLATE_TABLE_PAGE = "org.eclipse.scout.sdk.page.FormTemplateTablePage";
  String FORM_FIELD_TEMPLATE_TABLE_PAGE = "org.eclipse.scout.sdk.page.FormFieldTemplateTablePage";
  String FORM_HANDLER_NODE_PAGE = "org.eclipse.scout.sdk.page.FormHandlerNodePage";
  String FORM_HANDLER_TABLE_PAGE = "org.eclipse.scout.sdk.page.FormHandlerTablePage";
  String FORM_NODE_PAGE = "org.eclipse.scout.sdk.page.FormNodePage";
  String FORM_TABLE_PAGE = "org.eclipse.scout.sdk.page.FormTablePage";
  String GROUP_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.GroupBoxNodePage";
  String HTML_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.HtmlFieldNodePage";
  String ICON_NODE_PAGE = "org.eclipse.scout.sdk.page.IconNodePage";
  String IMAGE_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.ImageFieldNodePage";
  String INTEGER_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.IntegerFieldNodePage";
  String INVISIBLE_ROOT_NODE = "org.eclipse.scout.sdk.page.InvisibleRootNode";
  String KEY_STROKE_NODE_PAGE = "org.eclipse.scout.sdk.page.KeyStrokeNodePage";
  String KEY_STROKE_TABLE_PAGE = "org.eclipse.scout.sdk.page.KeyStrokeTablePage";
  String LABEL_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.LabelFieldNodePage";
  String LIBRARIES_NODE_PAGE = "org.eclipse.scout.sdk.page.LibrariesNodePage";
  String LIBRARIES_TABLE_PAGE = "org.eclipse.scout.sdk.page.LibrariesTablePage";
  String LIST_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.ListBoxNodePage";
  String LONG_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.LongFieldNodePage";
  String LOOKUP_CALL_NODE_PAGE = "org.eclipse.scout.sdk.page.LookupCallNodePage";
  String LOOKUP_CALL_TABLE_PAGE = "org.eclipse.scout.sdk.page.LookupCallTablePage";
  String LOOKUP_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.LookupServiceNodePage";
  String LOOKUP_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.LookupServiceTablePage";
  String MAIL_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.MailFieldNodePage";
  String MAIN_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.MainBoxNodePage";
  String MENU_NODE_PAGE = "org.eclipse.scout.sdk.page.MenuNodePage";
  String MENU_TABLE_PAGE = "org.eclipse.scout.sdk.page.MenuTablePage";
  String NODE_PAGE_CHILD_PAGE_TABLE_PAGE = "org.eclipse.scout.sdk.page. NodePageChildPageTablePage";
  String OUTLINE_NODE_PAGE = "org.eclipse.scout.sdk.page.OutlineNodePage";
  String OUTLINE_PAGE_CHILD_PAGE_TABLE_PAGE = "org.eclipse.scout.sdk.page.OutlinePageChildPageTablePage";

  String SERVER_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.ServerServicesTablePage";
  String SERVER_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.ServerServicesNodePage";

  String OUTLINE_TABLE_PAGE = "org.eclipse.scout.sdk.page.OutlineTablePage";
  String PAGE_WITH_NODE_NODE_PAGE = "org.eclipse.scout.sdk.page.PageWithNodeNodePage";
  String PAGE_WITH_TABLE_NODE_PAGE = "org.eclipse.scout.sdk.page.PageWithTableNodePage";
  String PERMISSION_NODE_PAGE = "org.eclipse.scout.sdk.page.PermissionNodePage";
  String PERMISSION_TABLE_PAGE = "org.eclipse.scout.sdk.page.PermissionTablePage";
  String PLANNER_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.PlannerFieldNodePage";
  String PROJECT_TABLE_PAGE = "org.eclipse.scout.sdk.page.ProjectsTablePage";
  String BUNDLE_NODE_GROUP_TABLE_PAGE = "org.eclipse.scout.sdk.page.BundleNodeGroupTablePage";
  String RADIO_BUTTON_GROUP_NODE_PAGE = "org.eclipse.scout.sdk.page.RadioButtonGroupNodePage";

  String SCOUT_WORKING_SET_TABLE_PAGE = "org.eclipse.scout.sdk.page.ScoutWorkingSetTablePage";
  String SEQUENCE_BOX_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.SequenceBoxFieldNodePage";
  String SERVER_NODE_PAGE = "org.eclipse.scout.sdk.page.ServerNodePage";
  String SERVER_SESSION_NODE_PAGE = "org.eclipse.scout.sdk.page.ServerSessionNodePage";
  String SERVICE_OPERATION_NODE_PAGE = "org.eclipse.scout.sdk.page.ServiceOperationNodePage";
  String SHARED_CONTEXT_PROPERTY_NODE_PAGE = "org.eclipse.scout.sdk.page.SharedContextPropertyNodePage";
  String SHARED_CONTEXT_PROPERTY_TABLE_PAGE = "org.eclipse.scout.sdk.page.SharedContextPropertyTablePage";
  String SHARED_NODE_PAGE = "org.eclipse.scout.sdk.page.SharedNodePage";

  String SMART_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.SmartFieldNodePage";
  String SMTP_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.SmtpServiceNodePage";
  String SMTP_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.SmtpServiceTablePage";
  String SPLIT_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.SplitBoxNodePage";
  String SQL_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.SqlServiceNodePage";
  String SQL_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.SqlServiceTablePage";
  String STRING_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.StringFieldNodePage";

  String TAB_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.TabBoxNodePage";
  String TABLE_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.TableFieldNodePage";
  String TABLE_NODE_PAGE = "org.eclipse.scout.sdk.page.TableNodePage";
  String TABLE_PAGE_CHILD_PAGE_TABLE_PAGE = "org.eclipse.scout.sdk.page.TablePageChildPageTablePage";
  String TEMPLATE_TABLE_PAGE = "org.eclipse.scout.sdk.page.TemplateTablePage";

  String TEXT_SERVICE_TABLE_PAGE = "org.eclipse.scout.sdk.page.TextServiceTablePage";
  String TEXT_SERVICE_NODE_PAGE = "org.eclipse.scout.sdk.page.TextServiceNodePage";
  String TIME_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.TimeFieldNodePage";
  String TOOL_BUTTON_NODE_PAGE = "org.eclipse.scout.sdk.page.ToolButtonNodePage";
  String TOOL_BUTTON_TABLE_PAGE = "org.eclipse.scout.sdk.page.ToolButtonTablePage";
  String TREE_BOX_NODE_PAGE = "org.eclipse.scout.sdk.page.TreeBoxNodePage";
  String TREE_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.TreeFieldNodePage";
  String TREE_NODE_PAGE = "org.eclipse.scout.sdk.page.TreeNodePage";
  String SCOUT_BUNDLE_TABLE_PAGE = "org.eclipse.scout.sdk.page.ScoutBundleTablePage";
  String UI_SWING_NODE_PAGE = "org.eclipse.scout.sdk.page.UiSwingNodePage";
  String UI_SWT_NODE_PAGE = "org.eclipse.scout.sdk.page.UiSwtNodePage";
  String UNKNOWN_FIELD_NODE_PAGE = "org.eclipse.scout.sdk.page.UnknownFieldNodePage";
  String WIZARD_NODE_PAGE = "org.eclipse.scout.sdk.page.WizardNodePage";
  String WIZARD_STEP_NODE_PAGE = "org.eclipse.scout.sdk.page.WizardStepNodePage";
  String WIZARD_STEP_TABLE_PAGE = "org.eclipse.scout.sdk.page.WizardStepTablePage";
  String WIZARD_TABLE_PAGE = "org.eclipse.scout.sdk.page.WizardTablePage";
  String SEARCH_TABLE_PAGE = "org.eclipse.scout.sdk.page.SearchTablePage";
}
