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 閱讀(138) | 評(píng)論 (0)編輯 收藏

           ImageDescriptor temp = ImageDescriptor.createFromURL(url);

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

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

          1.通過(guò)獲得當(dāng)前激活的editor來(lái)得到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 閱讀(190) | 評(píng)論 (0)編輯 收藏

          Eclipse的Wizard是由一系列WizardPage組成的。缺省情況下,WizardDialog在初始化的時(shí)候就會(huì)調(diào)用每個(gè)WizardPage的createControl()方法來(lái)布局這些WizardPage,這是為了方便決定WizardDialog窗口的大小。但如果某個(gè)WizardPage里的控件是需要?jiǎng)討B(tài)生成的,例如,用戶在Page1里輸入一個(gè)整數(shù)n,Page2里要根據(jù)這個(gè)整數(shù)生成n個(gè)文本框,由于Page2的createControl()只有一次被調(diào)用的機(jī)會(huì),并且在得到n之前就被WizardDialog調(diào)用過(guò)了,集中布局的方式就為生成Page2的界面帶來(lái)了困難。

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

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

          主站蜘蛛池模板: 同仁县| 侯马市| 神农架林区| 金山区| 宁乡县| 盐池县| 桑植县| 安新县| 梅州市| 双辽市| 遂昌县| 东光县| 界首市| 大石桥市| 厦门市| 黑龙江省| 新巴尔虎右旗| 曲阜市| 湘乡市| 宁德市| 嵊州市| 南皮县| 阿勒泰市| 佛山市| 浦城县| 勃利县| 屯留县| 石泉县| 湖北省| 克什克腾旗| 青龙| 伊川县| 呼图壁县| 株洲县| 高阳县| 梁平县| 盐池县| 杭锦旗| 池州市| 英山县| 澳门|