<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dengues Studio: Google Group:http://groups.google.com/group/dengues; QQ Group:24885404.
    在GEF實現表格的收縮,如下圖:
    伸展的圖:

    按減號收起:

    功能代碼:
    org.dengues.designer.ui.database.figures.DBTableCustomFigure
    的部分實現代碼:
     1 Image image = dbTable.isHidden() ? EXPAND_IMAGE : COLLAPSE_IMAGE;
     2         final Button button = new Button(image);
     3         button.setRolloverEnabled(true);
     4         button.addChangeListener(new ChangeListener() {
     5 
     6             /*
     7              * (non-Javadoc)
     8              * 
     9              * @see org.eclipse.draw2d.ChangeListener#handleStateChanged(org.eclipse.draw2d.ChangeEvent)
    10              */
    11             public void handleStateChanged(ChangeEvent event) {
    12                 if (event.getPropertyName().equals(ButtonModel.PRESSED_PROPERTY)) {
    13                     List children2 = button.getChildren();
    14                     i++;
    15                     for (Object object2 : children2) {
    16                         if (object2 instanceof Label) {
    17                             Label label = (Label) object2;
    18                             if (i % 2 == 0) {
    19                                 if (EXPAND_IMAGE.equals(label.getIcon())) {
    20                                     label.setIcon(COLLAPSE_IMAGE);
    21                                     for (DBColumn column : getColumns()) {
    22                                         column.setHidden(false);
    23                                     }
    24                                 } else {
    25                                     label.setIcon(EXPAND_IMAGE);
    26                                     for (DBColumn column : getColumns()) {
    27                                         column.setHidden(true);
    28                                     }
    29                                 }
    30                                 i = 0;
    31                             }
    32                         }
    33                     }
    34                 }
    35             }
    36         });
    37         titleFigure.add(button);
    org.dengues.designer.ui.database.parts.DBColumnEditPart

     1 public void notifyChanged(Notification notification) {
     2         int type = notification.getEventType();
     3         int id = notification.getFeatureID(DatabasePackage.class);
     4         switch (type) {
     5         case Notification.SET:
     6             switch (id) {
     7             case DatabasePackage.DB_COLUMN__X:
     8             case DatabasePackage.DB_COLUMN__Y:
     9             case DatabasePackage.DB_COLUMN__HEIGHT:
    10             case DatabasePackage.DB_COLUMN__WIDTH:
    11             case DatabasePackage.DB_COLUMN__NAME:
    12             case DatabasePackage.DB_COLUMN__FOREIGN_KEY:
    13             case DatabasePackage.DIAGRAM_CHILD__SELECTED:
    14                 refreshVisuals();
    15                 break;
    16             case DatabasePackage.DB_COLUMN__HIDDEN:
    17                 getCastModel().getTable().setHidden(notification.getNewBooleanValue());
    18                 break;
    19             }

     1 org.dengues.designer.ui.database.parts.DBTableEditPart
     2 //實現代碼
     3 public void notifyChanged(Notification notification) {
     4         int type = notification.getEventType();
     5         int id = notification.getFeatureID(DatabasePackage.class);
     6         switch (type) {
     7         case Notification.SET:
     8             switch (id) {
     9             case DatabasePackage.DB_TABLE__X:
    10             case DatabasePackage.DB_TABLE__Y:
    11             case DatabasePackage.DB_TABLE__HEIGHT:
    12             case DatabasePackage.DB_TABLE__WIDTH:
    13             case DatabasePackage.DB_TABLE__NAME:
    14             case DatabasePackage.DB_TABLE__HIDDEN:
    15                 refreshVisuals();
    16                 break;
     1 protected void refreshVisuals() {
     2         EList columns = getCastModel().getColumns();
     3         int colNum = 0;
     4         for (Object object : columns) {
     5             if (object instanceof DBColumn) {
     6                 if (!((DBColumn) object).isHidden()) {
     7                     colNum++;
     8                 }
     9             }
    10         }
    11         int i = colNum * COLUMN_HEIGHT + TABLE_HEADER;
    12 
    13         Rectangle bounds = new Rectangle(getCastModel().getX(), getCastModel().getY(), getCastModel().getWidth(), i);
    14         customTableFigure.getTableName().setText(getCastModel().getName());
    15         ((GraphicalEditPart) getParent()).setLayoutConstraint(this, getFigure(), bounds);
    16     }
    17 






    Dengues論壇(http://groups.google.com/group/dengues/),一個很好的Eclipse開發者樂園.

    Feedback

    # re: [Dengues]在GEF中實現,表格圖像的收縮.像Tree一樣。  回復  更多評論   

    2009-03-19 16:02 by defrag_sly
    我作了一個gef tree。跟普通的tree基本沒區別。喜歡交流的話。請跟我聯系。
    http://defrag-sly.javaeye.com/admin/blogs/343016

    # re: [Dengues]在GEF中實現,表格圖像的收縮.像Tree一樣。  回復  更多評論   

    2009-06-20 15:38 by Hsieh
    當Table被折疊的時候,連線時怎么處理的 ?

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    Dengues Studio: Google Group:http://groups.google.com/group/dengues; QQ Group:24885404.
    主站蜘蛛池模板: 在线免费观看中文字幕| 一本无码人妻在中文字幕免费| 国产免费爽爽视频免费可以看| 亚洲欧洲专线一区| 精品少妇人妻AV免费久久洗澡| 三级网站免费观看| 中文字幕不卡亚洲| 国产成人AV免费观看| 亚洲av无码精品网站| 久久国产精品成人片免费| 成人爱做日本视频免费| 噜噜综合亚洲AV中文无码| 免费一级国产生活片| 两个人看的www免费视频中文| 亚洲AV无码一区二区乱子伦| 99热这里只有精品6免费| 久久精品国产亚洲av麻豆蜜芽| 免费高清资源黄网站在线观看| 黄色一级毛片免费| 亚洲国产精品久久久天堂| 57pao一国产成视频永久免费| 最新亚洲春色Av无码专区| 亚洲国产一级在线观看| a毛片免费观看完整| 亚洲国产成人久久综合一区| 永久免费毛片手机版在线看| 免费国产a理论片| 亚洲天堂在线播放| 国产精品免费视频一区| 999zyz**站免费毛片| 亚洲国产亚洲片在线观看播放| 啦啦啦www免费视频| 男女一边桶一边摸一边脱视频免费| 亚洲综合区图片小说区| 四虎永久免费地址在线观看| 最近免费中文字幕MV在线视频3 | 亚洲欧洲日产国产综合网| 成年大片免费视频| 日韩av无码免费播放| 亚洲欧洲无码AV不卡在线| 亚洲精品无码午夜福利中文字幕|