posts - 6, comments - 1, trackbacks - 0, articles - 0

          2008年9月9日

          public class NameManager implements INameManager {
                 private Set namePool = new HashSet();
                

              public String generateName(String nameType) {

                  if (!namePool.contains(nameType)) {
                 namePool.add(nameType);
                  return nameType;
            }

            int i = 1;
            while (namePool.contains(nameType + i)) {
             i++;
            }
            namePool.add(nameType + i);
            return nameType + i;
           }


          posted @ 2008-09-23 11:44 jr4e 閱讀(134) | 評論 (0)編輯 收藏

           ImageDescriptor temp = ImageDescriptor.createFromURL(url);

           org.eclipse.swt.graphics.Image image = temp.createImage();

          posted @ 2008-09-19 12:38 jr4e 閱讀(148) | 評論 (0)編輯 收藏

          1.通過獲得當前激活的editor來得到NameManager
          IEditorPart editor = PlatformUI.getWorkbench()
              .getActiveWorkbenchWindow().getActivePage().getActiveEditor();
            ReportEditor reportEditor = null;
            if (editor instanceof ReportEditor)
             reportEditor = (ReportEditor) editor;

            String dsDisplayName = reportEditor.getDisplaynameByQDSName(table
              .getDataSet());
            INameManager nameManager = ((ReportEditorInput) reportEditor
              .getEditorInput()).getNameManager();
          2.獲得editPart的祖先的方法
          GefUtilities.getAncestorOfClass(Class c, EditPart editPart)
          public static EditPart getAncestorOfClass(Class c, EditPart editPart)

          3.獲得模型祖先的方法
          ModelUtilities.getAncestorOfClass(Class c, EObject model));
          public static EObject getAncestorOfClass(Class c, EObject model)

          posted @ 2008-09-18 18:55 jr4e 閱讀(188) | 評論 (0)編輯 收藏

          Eclipse的Wizard是由一系列WizardPage組成的。缺省情況下,WizardDialog在初始化的時候就會調用每個WizardPage的createControl()方法來布局這些WizardPage,這是為了方便決定WizardDialog窗口的大小。但如果某個WizardPage里的控件是需要動態生成的,例如,用戶在Page1里輸入一個整數n,Page2里要根據這個整數生成n個文本框,由于Page2的createControl()只有一次被調用的機會,并且在得到n之前就被WizardDialog調用過了,集中布局的方式就為生成Page2的界面帶來了困難。

          和問題的描述比起來,解決的方法簡單很多,只要覆蓋Wizard的createPageControls()方法讓它什么都不要做就可以了
          @Override
          public void createPageControls(Composite pageContainer) {
              
          //super.createPageControls(pageContainer);
          }

          posted @ 2008-09-09 10:15 jr4e 閱讀(301) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 连江县| 嘉鱼县| 贺兰县| 咸阳市| 宜兰市| 武陟县| 东光县| 慈利县| 大方县| 玉田县| 建宁县| 胶南市| 绵阳市| 宜川县| 扎囊县| 湟源县| 张家川| 承德县| 汪清县| 昭苏县| 大邑县| 涟源市| 鹤山市| 庆云县| 齐河县| 无极县| 大方县| 丰城市| 杂多县| 苍山县| 车致| 田林县| 融水| 鄱阳县| 平凉市| 长春市| 安溪县| 滕州市| 湘乡市| 贞丰县| 广汉市|