<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片在线观看播放| 亚洲精品亚洲人成在线| 2015日韩永久免费视频播放| 亚洲国产精品一区| 久久一区二区三区免费播放 | 亚洲国产午夜中文字幕精品黄网站| 亚洲欧洲自拍拍偷综合| 日韩免费视频网站| 亚洲人成www在线播放| 18禁成年无码免费网站无遮挡| 久久久亚洲欧洲日产国码二区| 在线观看免费黄网站| 亚洲国产成人一区二区精品区| 成人无码精品1区2区3区免费看| 亚洲一区二区精品视频| 中文在线免费看视频| 久久久久亚洲AV成人无码| 欧洲人免费视频网站在线| 久久亚洲国产视频| 999久久久免费精品国产| 亚洲免费闲人蜜桃| 两个人看的www高清免费观看| 国产成人精品久久亚洲高清不卡 | 污污免费在线观看| 最近免费中文字幕4| 最新国产精品亚洲| 免费一级毛片免费播放| 一级特黄色毛片免费看| 亚洲精品无码成人AAA片| 久久久精品2019免费观看| 亚洲色无码专区在线观看| 理论亚洲区美一区二区三区| 精品亚洲视频在线观看| 中文字幕在线免费| 亚洲精华国产精华精华液网站| 国产精品高清全国免费观看| 中文字幕永久免费| 亚洲免费黄色网址| 亚洲国产精品无码久久九九| 可以免费观看的毛片|