コード例 #1
0
 private static IBaseModel getModelFromEditor(
     PDEFormEditor openEditor, ModelModification modification) {
   if (openEditor == null) return null;
   String name = modification.getFile().getName();
   IBaseModel model = null;
   if (name.equals(ICoreConstants.PLUGIN_FILENAME_DESCRIPTOR)
       || name.equals(ICoreConstants.FRAGMENT_FILENAME_DESCRIPTOR)) {
     model = openEditor.getAggregateModel();
     if (model instanceof IBundlePluginModelBase)
       model = ((IBundlePluginModelBase) model).getExtensionsModel();
   } else if (name.equals(ICoreConstants.BUILD_FILENAME_DESCRIPTOR)) {
     if (openEditor instanceof BuildEditor) {
       model = openEditor.getAggregateModel();
     } else if (openEditor instanceof ManifestEditor) {
       IFormPage page = openEditor.findPage(BuildInputContext.CONTEXT_ID);
       if (page instanceof BuildSourcePage)
         model = ((BuildSourcePage) page).getInputContext().getModel();
     }
   } else if (name.equals(ICoreConstants.MANIFEST_FILENAME)) {
     model = openEditor.getAggregateModel();
     if (model instanceof IBundlePluginModelBase) return model;
   }
   if (model instanceof AbstractEditingModel) return model;
   return null;
 }
コード例 #2
0
ファイル: MonitorOverviewPage.java プロジェクト: SiteView/PDE
 private void handleConvert() {
   try {
     // remove listeners of Info section before we convert.  If we don't
     // we may get a model changed event while disposing the page.  Bug 156414
     fInfoSection.removeListeners();
     PDEFormEditor editor = getPDEEditor();
     IPluginModelBase model = (IPluginModelBase) editor.getAggregateModel();
     IRunnableWithProgress op = new CreateManifestOperation(model);
     IProgressService service = PlatformUI.getWorkbench().getProgressService();
     editor.doSave(null);
     service.runInUI(service, op, PDEPlugin.getWorkspace().getRoot());
     updateBuildProperties();
     editor.doSave(null);
   } catch (InvocationTargetException e) {
     MessageDialog.openError(
         PDEPlugin.getActiveWorkbenchShell(),
         PDEUIMessages.OverviewPage_error,
         e.getCause().getMessage());
     // if convert failed and this OverviewPage hasn't been removed from the editor, reattach
     // listeners
     if (!fDisposed) fInfoSection.addListeners();
   } catch (InterruptedException e) {
     // if convert failed and this OverviewPage hasn't been removed from the editor, reattach
     // listeners
     if (!fDisposed) fInfoSection.addListeners();
   }
 }
コード例 #3
0
  public static IEditingModel getOpenModel(IDocument doc) {
    Iterator it = fOpenPDEEditors.values().iterator();
    while (it.hasNext()) {
      ArrayList list = (ArrayList) it.next();
      for (int i = 0; i < list.size(); i++) {
        PDEFormEditor e = (PDEFormEditor) list.get(i);
        IPluginModelBase model = (IPluginModelBase) e.getAggregateModel();
        if (model instanceof IBundlePluginModelBase) {
          IBundleModel bModel = ((IBundlePluginModelBase) model).getBundleModel();
          if (bModel instanceof IEditingModel && doc == ((IEditingModel) bModel).getDocument())
            return (IEditingModel) bModel;
          ISharedExtensionsModel eModel = ((IBundlePluginModelBase) model).getExtensionsModel();
          if (eModel instanceof IEditingModel && doc == ((IEditingModel) eModel).getDocument())
            return (IEditingModel) eModel;
        }

        //				IBuildModel bModel = model.getBuildModel();
        //				if (bModel instanceof IEditingModel &&
        //						doc == ((IEditingModel)bModel).getDocument())
        //					return (IEditingModel)bModel;

        if (model instanceof IEditingModel && doc == ((IEditingModel) model).getDocument())
          return (IEditingModel) model;
      }
    }
    return null;
  }