<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.
    主站蜘蛛池模板: 日本成人在线免费观看| 欧洲精品99毛片免费高清观看| 国产成人免费高清在线观看| 精品成人免费自拍视频| 亚洲欧洲精品在线| 曰韩亚洲av人人夜夜澡人人爽| 中文字幕视频免费| 免费无码国产V片在线观看| 久久噜噜噜久久亚洲va久| 免费jjzz在在线播放国产| 中文无码成人免费视频在线观看| 亚洲五月综合缴情婷婷| 亚洲色婷婷综合久久| 亚洲国产精品嫩草影院久久| 国产电影午夜成年免费视频| 成av免费大片黄在线观看| 最新亚洲人成无码网站| 亚洲GV天堂无码男同在线观看| 亚洲人成毛片线播放| 亚洲一区二区三区高清不卡| 亚洲欧洲国产经精品香蕉网| 亚洲网站在线免费观看| 亚洲av永久无码精品国产精品| 国产亚洲av人片在线观看| 亚洲午夜爱爱香蕉片| 亚洲国产精品一区二区成人片国内| 在线精品亚洲一区二区三区| 国产亚洲3p无码一区二区| 亚洲色大成网站www永久一区| 久久久久久a亚洲欧洲aⅴ| 亚洲精品制服丝袜四区| 亚洲国产精品婷婷久久| 亚洲2022国产成人精品无码区| 亚洲欧洲日产国产最新| 美女露隐私全部免费直播| 三年片免费高清版| 日韩免费a级在线观看| 久久亚洲AV无码精品色午夜麻豆 | 中文无码成人免费视频在线观看| 丁香花免费完整高清观看| 亚洲av无码成人精品区在线播放 |