aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java')
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java113
1 files changed, 113 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java
new file mode 100755
index 000000000..f3db5eea6
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/export/ExportPropertiesPage.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
+ *
+ * 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.
+ */
+
+package com.android.ide.eclipse.adt.internal.editors.export;
+
+import com.android.ide.eclipse.adt.AdtPlugin;
+
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.ColumnLayout;
+import org.eclipse.ui.forms.widgets.ColumnLayoutData;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+
+
+/**
+ * Page for export properties, used by {@link ExportEditor}.
+ * It displays a part to edit the properties and another part
+ * to provide some links and actions.
+ */
+public final class ExportPropertiesPage extends FormPage {
+
+ /** Page id used for switching tabs programmatically */
+ final static String PAGE_ID = "export_prop_page"; //$NON-NLS-1$
+
+ /** Container editor */
+ ExportEditor mEditor;
+ /** Export fields part */
+ private ExportFieldsPart mFieldsPart;
+ /** Export links part */
+ private ExportLinksPart mLinksPart;
+
+ public ExportPropertiesPage(ExportEditor editor) {
+ super(editor, PAGE_ID, "Export Properties"); // tab's label, user visible, keep it short
+ mEditor = editor;
+ }
+
+ /**
+ * Creates the content in the form hosted in this page.
+ *
+ * @param managedForm the form hosted in this page.
+ */
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ super.createFormContent(managedForm);
+ ScrolledForm form = managedForm.getForm();
+ form.setText("Android Export Properties");
+ form.setImage(AdtPlugin.getAndroidLogo());
+
+ Composite body = form.getBody();
+ FormToolkit toolkit = managedForm.getToolkit();
+
+ body.setLayout(new ColumnLayout());
+
+ mFieldsPart = new ExportFieldsPart(body, toolkit, mEditor);
+ mFieldsPart.getSection().setLayoutData(new ColumnLayoutData());
+ managedForm.addPart(mFieldsPart);
+
+ mLinksPart = new ExportLinksPart(body, toolkit, mEditor);
+ mLinksPart.getSection().setLayoutData(new ColumnLayoutData());
+ managedForm.addPart(mLinksPart);
+
+ mFieldsPart.onModelInit(mEditor);
+ mLinksPart.onModelInit(mEditor);
+ }
+
+ /**
+ * Called after all pages have been created, to let the parts initialize their
+ * content based on the document's model.
+ * <p/>
+ * The model should be acceded via the {@link ExportEditor}.
+ */
+ public void onModelInit() {
+ if (mFieldsPart != null) {
+ mFieldsPart.onModelInit(mEditor);
+ }
+
+ if (mLinksPart != null) {
+ mLinksPart.onModelInit(mEditor);
+ }
+ }
+
+ /**
+ * Called after the document model has been changed. The model should be acceded via
+ * the {@link ExportEditor}.
+ *
+ * @param event Specification of changes applied to document.
+ */
+ public void onModelChanged(DocumentEvent event) {
+ if (mFieldsPart != null) {
+ mFieldsPart.onModelChanged(mEditor, event);
+ }
+
+ if (mLinksPart != null) {
+ mLinksPart.onModelChanged(mEditor, event);
+ }
+ }
+}