(Graphics g, int ofs, boolean selected)
| 91 | public int getColor() { return msg.getColor(); } |
| 92 | |
| 93 | public void drawItem(Graphics g, int ofs, boolean selected) { |
| 94 | int xorg=g.getTranslateX(); |
| 95 | int yorg=g.getTranslateY(); |
| 96 | int iconOffset = 2; |
| 97 | g.translate(2,0); |
| 98 | if (msgLines.isEmpty()) { |
| 99 | parse(); |
| 100 | } |
| 101 | if (msgLines.isEmpty()) { |
| 102 | return; |
| 103 | } |
| 104 | //int y=0; |
| 105 | int lineCount = msg.itemCollapsed ? 1 : msgLines.size(); |
| 106 | int messageHeight = 0; |
| 107 | for (int i = 0; i < lineCount; i++) { |
| 108 | messageHeight += ((ComplexString) msgLines.elementAt(i)).getVHeight(); |
| 109 | } |
| 110 | if (messageHeight < Config.getInstance().minItemHeight) { |
| 111 | g.translate(g.getTranslateX(), (Config.getInstance().minItemHeight - messageHeight) >> 1); |
| 112 | } |
| 113 | for (int index = 0; index < lineCount; ++index) { |
| 114 | ComplexString line = (ComplexString)msgLines.elementAt(index); |
| 115 | if (line.isEmpty()) break; |
| 116 | int h=line.getVHeight(); |
| 117 | int cy=g.getClipY(); |
| 118 | //clipping |
| 119 | if (cy <= h && cy+g.getClipHeight()>0 ) { |
| 120 | if (msg.itemCollapsed && (msgLines.size()>1)) { |
| 121 | RosterIcons.getInstance().drawImage(g, |
| 122 | RosterIcons.ICON_MSGCOLLAPSED_INDEX, |
| 123 | 0, |
| 124 | (getVHeight() |
| 125 | - RosterIcons.getInstance().getHeight()) >> 1 - g.getTranslateY()); |
| 126 | g.translate(8,0); |
| 127 | iconOffset = 2 + RosterIcons.getInstance().getWidth() >> 1; |
| 128 | } |
| 129 | line.setColor(getColor()); |
| 130 | line.drawItem(g, iconOffset, selected); |
| 131 | } |
| 132 | g.translate(0, h); |
| 133 | if (msg.itemCollapsed) break; |
| 134 | } |
| 135 | |
| 136 | g.translate(xorg-g.getTranslateX(), yorg-g.getTranslateY()); |
| 137 | |
| 138 | if (msg.delivered) { |
| 139 | int right=g.getClipX()+g.getClipWidth(); |
| 140 | RosterIcons.getInstance().drawImage( |
| 141 | g, RosterIcons.ICON_DELIVERED_INDEX, |
| 142 | right-RosterIcons.getInstance().getWidth()-3, 0 |
| 143 | ); |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | public void onSelect() { |
| 148 | msg.itemCollapsed = !msg.itemCollapsed; |
nothing calls this directly
no test coverage detected