Changeset 656


Ignore:
Timestamp:
01/07/14 12:26:01 (10 years ago)
Author:
jts21
Message:

Implement tooltips

Location:
trunk/src/org/expeditee
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/AttributeUtils.java

    r625 r656  
    263263                        _Attrib.put("Y",                    null,
    264264                                                            Item.class.getMethod("setY", pFloat));
     265                        _Attrib.put("Tooltip",              Item.class.getMethod("getTooltip"),
     266                                                            Item.class.getMethod("setTooltip", pString));
    265267                       
    266268                        // Text Items
  • trunk/src/org/expeditee/gui/FrameGraphics.java

    r655 r656  
    515515                        for (FrameRenderPass pass : _frameRenderPasses) {
    516516                                pass.paintFinalPass(bg);
     517                        }
     518                }
     519               
     520                // paint tooltip
     521                if(!FreeItems.itemsAttachedToCursor()) {
     522                        Item current = FrameUtils.getCurrentItem();
     523                        if(current != null) {
     524                                current.paintTooltip(bg);
    517525                        }
    518526                }
  • trunk/src/org/expeditee/io/DefaultFrameReader.java

    r613 r656  
    126126                        _ItemTags.put('h', Item.class.getMethod("setThickness", pFloat));
    127127                        _ItemTags.put('l', Item.class.getMethod("setLineIDs", pString));
    128                         _ItemTags.put('c', Item.class
    129                                         .getMethod("setConstraintIDs", pString));
     128                        _ItemTags.put('c', Item.class.getMethod("setConstraintIDs", pString));
     129                       
     130                        _ItemTags.put('A', Item.class.getMethod("setTooltip", pString));
     131                       
    130132                        // Lines and constraints are created differently
    131133                        _ItemTags.put('L', Line.class.getMethod("setStartItem", pItem));
    132                         _ItemTags.put('C', Constraint.class.getMethod("getID",
    133                                         (Class[]) null));
     134                        _ItemTags.put('C', Constraint.class.getMethod("getID", (Class[]) null));
    134135                } catch (Exception e) {
    135136                        e.printStackTrace();
  • trunk/src/org/expeditee/io/DefaultFrameWriter.java

    r613 r656  
    123123                        _ItemTags.put("l", Item.class.getMethod("getLineIDs", param));
    124124                        _ItemTags.put("c", Item.class.getMethod("getConstraintIDs", param));
     125                       
     126                        _ItemTags.put("A", Item.class.getMethod("getTooltip", param));
    125127
    126128                } catch (Exception e) {
  • trunk/src/org/expeditee/items/Item.java

    r655 r656  
    157157
    158158        protected boolean _filled = true;
     159       
     160        private String _tooltip = null;
     161        private Text _tooltipItem = null;
    159162
    160163        public static void DuplicateItem(Item source, Item dest) {
     
    174177                dest.setBorderColor(source.getBorderColor());
    175178
     179                dest.setTooltip(source.getTooltip());
    176180                dest.setData(source.getData());
    177181                dest.setTag(source.getTag());
     
    11221126         */
    11231127        public abstract void paint(Graphics2D g);
    1124 
     1128       
     1129        public void setTooltip(String tooltip) {
     1130                _tooltip = tooltip;
     1131                _tooltipItem = null;
     1132        }
     1133       
     1134        public String getTooltip() {
     1135                return _tooltip;
     1136        }
     1137       
     1138        public void paintTooltip(Graphics2D g) {
     1139                // don't try to show an empty tooltip
     1140                if(_tooltipItem == null) {
     1141                        if(_tooltip != null && _tooltip.trim().length() != 0) {
     1142                                _tooltipItem = (Text) getParentOrCurrentFrame().getStatsTextItem(_tooltip);
     1143                                _tooltipItem.setWidth(300);
     1144                        } else {
     1145                                return;
     1146                        }
     1147                }
     1148                Rectangle bounds = getPolygon().getBounds();
     1149                _tooltipItem.invalidateAll();
     1150                int x = bounds.x + bounds.width;
     1151                if(x + _tooltipItem.getPolygon().getBounds().width > FrameGraphics.getMaxFrameSize().width) {
     1152                        x = bounds.x - _tooltipItem.getPolygon().getBounds().width;
     1153                }
     1154                int y = bounds.y + bounds.height;
     1155                if(y + _tooltipItem.getPolygon().getBounds().height > FrameGraphics.getMaxFrameSize().height) {
     1156                        y = bounds.y - _tooltipItem.getPolygon().getBounds().height;
     1157                }
     1158                _tooltipItem.setPosition(x, y);
     1159                _tooltipItem.paint(g);
     1160        }
     1161       
    11251162        public void paintFill(Graphics2D g) {
    11261163                Color fillColor = getFillColor();
  • trunk/src/org/expeditee/setting/GenericSetting.java

    r655 r656  
    120120                }
    121121                if(_default instanceof Text) {
     122                        int id = ((Item) _value).getID();
     123                        if(id < 0) {
     124                                if(((Item) _value).getParentOrCurrentFrame() != null) {
     125                                        id = ((Item) _value).getParentOrCurrentFrame().getNextItemID();
     126                                } else {
     127                                        id = 0;
     128                                }
     129                        }
    122130                        _value = (T) ((Text) _default).copy();
    123                         System.out.println("FRAME: " + ((Item) _value).getParentOrCurrentFrame());
    124                         ((Item) _value).setID(((Item) _value).getParentOrCurrentFrame().getNextItemID());
     131                        ((Item) _value).setID(id);
    125132                } else {
    126133                        _value = _default;
  • trunk/src/org/expeditee/settings/Settings.java

    r655 r656  
    219219                                        t.setY(y + h / 2);
    220220                                        t.setText(name);
     221                                        t.setTooltip(s.getTooltip());
    221222                                        frame.addItem(t);
    222223                                        y += h;
    223224                                } else {
    224                                         frame.addText(x, y + dY / 2, name + value, null);
     225                                        Text t = frame.addText(x, y + dY / 2, name + value, null);
     226                                        t.setTooltip(s.getTooltip());
    225227                                        y += dY;
    226228                                }
Note: See TracChangeset for help on using the changeset viewer.