<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.
    主站蜘蛛池模板: 9i9精品国产免费久久| a毛片基地免费全部视频| 免费精品一区二区三区在线观看| 337p欧洲亚洲大胆艺术| 国内精品久久久久影院亚洲 | 亚洲三级视频在线| 最近2022中文字幕免费视频| 亚洲日本在线观看| 美女黄色毛片免费看| 成人免费无码精品国产电影| 亚洲国产一区二区a毛片| 97久久免费视频| 亚洲伦理一二三四| 国产亚洲免费的视频看| 亚洲AV无码成人精品区天堂| 亚洲av日韩aⅴ无码色老头| 免费国产成人午夜在线观看| 亚洲国产精品久久久久婷婷老年| 久久国产精品成人片免费| 亚洲一卡2卡3卡4卡国产网站| 成人片黄网站A毛片免费| 激情婷婷成人亚洲综合| 一个人免费观看在线视频www| 亚洲综合中文字幕无线码| 国产精品免费_区二区三区观看| 亚洲白嫩在线观看| 毛片免费在线视频| 亚洲色图.com| 日韩成全视频观看免费观看高清| 激情吃奶吻胸免费视频xxxx| 日本亚洲欧洲免费天堂午夜看片女人员 | 色妞www精品视频免费看| 国产亚洲人成A在线V网站| 久久午夜夜伦鲁鲁片免费无码 | 亚洲视频一区二区| 久久青草91免费观看| 亚洲色欲色欲www在线播放| 精品亚洲成α人无码成α在线观看| 久久国产乱子伦精品免费一| 亚洲AV无码之国产精品| 国产亚洲老熟女视频|