allow mouse input for scrolling, don't update text area model when nothing has changed
1.1 --- a/src/keyevents/ListKeyEvents.java Sat Feb 11 13:15:22 2012 +0100
1.2 +++ b/src/keyevents/ListKeyEvents.java Sat Feb 11 13:27:12 2012 +0100
1.3 @@ -58,7 +58,7 @@
1.4
1.5 LWJGLRenderer renderer = new LWJGLRenderer();
1.6 ListKeyEvents demo = new ListKeyEvents();
1.7 - GUI gui = new GUI(demo, renderer, null);
1.8 + GUI gui = new GUI(demo, renderer);
1.9
1.10 ThemeManager theme = ThemeManager.createThemeManager(
1.11 ListKeyEvents.class.getResource("ListKeyEvents.xml"), renderer);
1.12 @@ -100,6 +100,7 @@
1.13 }
1.14
1.15 public void listKeyEvents() {
1.16 + boolean hadEvents = false;
1.17 while(Keyboard.next()) {
1.18 if(Keyboard.getEventCharacter() != Keyboard.CHAR_NONE) {
1.19 sb.append(String.format("%s %s (code %d) char %c (%d)\n",
1.20 @@ -114,8 +115,16 @@
1.21 Keyboard.getKeyName(Keyboard.getEventKey()),
1.22 Keyboard.getEventKey()));
1.23 }
1.24 + hadEvents = true;
1.25 }
1.26 - textAreaModel.setText(sb.toString());
1.27 + if(hadEvents) {
1.28 + boolean atEnd = scrollPane.getScrollPositionY() == scrollPane.getMaxScrollPosY();
1.29 + textAreaModel.setText(sb.toString());
1.30 + if(atEnd) {
1.31 + scrollPane.validateLayout();
1.32 + scrollPane.setScrollPositionY(scrollPane.getMaxScrollPosY());
1.33 + }
1.34 + }
1.35 }
1.36
1.37 }
2.1 --- a/src/keyevents/ListKeyEvents.xml Sat Feb 11 13:15:22 2012 +0100
2.2 +++ b/src/keyevents/ListKeyEvents.xml Sat Feb 11 13:27:12 2012 +0100
2.3 @@ -6,18 +6,15 @@
2.4 <area name="tooltip.background" border="3" xywh="1,24,7,7" splitx="L3,R3" splity="T3,B3"/>
2.5 <select name="vscrollbar.upbutton.background" center="true">
2.6 <area tint="#FF0000" if="pressed" xywh="16,7,7,4"/>
2.7 - <area tint="#5A5A5A" if="hover" xywh="16,7,7,4"/>
2.8 - <area tint="#000000" xywh="16,7,7,4"/>
2.9 + <area tint="#5A5A5A" xywh="16,7,7,4"/>
2.10 </select>
2.11 <select name="vscrollbar.downbutton.background" center="true">
2.12 <area tint="#FF0000" if="pressed" xywh="16,12,7,4"/>
2.13 - <area tint="#5A5A5A" if="hover" xywh="16,12,7,4"/>
2.14 - <area tint="#000000" xywh="16,12,7,4"/>
2.15 + <area tint="#5A5A5A" xywh="16,12,7,4"/>
2.16 </select>
2.17 <select name="vscrollbar.thumb.background">
2.18 <area splity="4,5" tint="#FF0000" if="pressed" xywh="16,17,7,10"/>
2.19 - <area splity="4,5" tint="#5A5A5A" if="hover" xywh="16,17,7,10"/>
2.20 - <area splity="4,5" tint="#000000" xywh="16,17,7,10"/>
2.21 + <area splity="4,5" tint="#5A5A5A" xywh="16,17,7,10"/>
2.22 </select>
2.23 <area name="innerframe.background" splitx="2,3" splity="2,3" border="2" xywh="17,1,5,5"/>
2.24 </images>