<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影片在线播放| 亚洲一本综合久久| 97国免费在线视频| 亚洲av综合av一区| 99热免费在线观看| 亚洲一区在线观看视频| 一本无码人妻在中文字幕免费| 亚洲AV成人噜噜无码网站| 成年在线网站免费观看无广告 | 亚洲av中文无码字幕色不卡| 免费无码成人AV片在线在线播放| 亚洲中文字幕一二三四区| 免费无码又爽又刺激毛片| 在线视频亚洲一区| 亚洲熟妇少妇任你躁在线观看无码| 一级女性全黄生活片免费看| 国产精品亚洲综合一区| 暖暖日本免费中文字幕| 亚洲天堂中文字幕在线观看| 成年在线观看网站免费| 狠狠入ady亚洲精品| 国产av无码专区亚洲av果冻传媒| 国产免费一区二区三区不卡| 亚洲综合免费视频| 精品久久洲久久久久护士免费 | 黄网站色成年片大免费高清| 亚洲午夜久久久久久久久电影网 | 国产午夜亚洲精品不卡| 亚洲熟妇无码乱子AV电影| 8888四色奇米在线观看免费看| 亚洲人配人种jizz| 亚洲中文字幕成人在线| 国产免费一区二区三区不卡| 在线亚洲高清揄拍自拍一品区| 国产大片线上免费看| 两个人看的www高清免费观看| 亚洲最大黄色网站| 亚洲人成色7777在线观看不卡| 99久久99久久免费精品小说| 久久久久久亚洲av无码蜜芽|