X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTScrollableWidget.java;h=7d15b2897ab860ba425ad73cc12b9d70db20c0c1;hb=12b90437b5f22c2ae6e9b9b14c3b62b60f6143e5;hp=a4ba70aac12c1f66d687e7bb613d2a4b8982dad3;hpb=56661844475522242093c8858ceb20fb15589da5;p=fanfix.git diff --git a/src/jexer/TScrollableWidget.java b/src/jexer/TScrollableWidget.java index a4ba70a..7d15b28 100644 --- a/src/jexer/TScrollableWidget.java +++ b/src/jexer/TScrollableWidget.java @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (C) 2017 Kevin Lamonte + * Copyright (C) 2019 Kevin Lamonte * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -36,6 +36,10 @@ import jexer.event.TResizeEvent; */ public class TScrollableWidget extends TWidget implements Scrollable { + // ------------------------------------------------------------------------ + // Variables -------------------------------------------------------------- + // ------------------------------------------------------------------------ + /** * The horizontal scrollbar. */ @@ -46,48 +50,9 @@ public class TScrollableWidget extends TWidget implements Scrollable { */ protected TVScroller vScroller = null; - /** - * Place the scrollbars on the edge of this widget, and adjust bigChange - * to match the new size. This is called by onResize(). - */ - protected void placeScrollbars() { - if (hScroller != null) { - hScroller.setY(getHeight() - 1); - hScroller.setWidth(getWidth() - 1); - hScroller.setBigChange(getWidth() - 1); - } - if (vScroller != null) { - vScroller.setX(getWidth() - 1); - vScroller.setHeight(getHeight() - 1); - vScroller.setBigChange(getHeight() - 1); - } - } - - /** - * Recompute whatever data is displayed by this widget. - */ - public void reflowData() { - // Default: nothing to do - } - - /** - * Handle window/screen resize events. - * - * @param event resize event - */ - @Override - public void onResize(final TResizeEvent event) { - if (event.getType() == TResizeEvent.Type.WIDGET) { - setWidth(event.getWidth()); - setHeight(event.getHeight()); - - reflowData(); - placeScrollbars(); - return; - } else { - super.onResize(event); - } - } + // ------------------------------------------------------------------------ + // Constructors ----------------------------------------------------------- + // ------------------------------------------------------------------------ /** * Protected constructor. @@ -140,6 +105,57 @@ public class TScrollableWidget extends TWidget implements Scrollable { super(parent, enabled, x, y, width, height); } + // ------------------------------------------------------------------------ + // TWidget ---------------------------------------------------------------- + // ------------------------------------------------------------------------ + + /** + * Handle window/screen resize events. + * + * @param event resize event + */ + @Override + public void onResize(final TResizeEvent event) { + if (event.getType() == TResizeEvent.Type.WIDGET) { + setWidth(event.getWidth()); + setHeight(event.getHeight()); + + reflowData(); + placeScrollbars(); + return; + } else { + super.onResize(event); + } + } + + // ------------------------------------------------------------------------ + // TScrollableWidget ------------------------------------------------------ + // ------------------------------------------------------------------------ + + /** + * Place the scrollbars on the edge of this widget, and adjust bigChange + * to match the new size. This is called by onResize(). + */ + protected void placeScrollbars() { + if (hScroller != null) { + hScroller.setY(getHeight() - 1); + hScroller.setWidth(getWidth() - 1); + hScroller.setBigChange(getWidth() - 1); + } + if (vScroller != null) { + vScroller.setX(getWidth() - 1); + vScroller.setHeight(getHeight() - 1); + vScroller.setBigChange(getHeight() - 1); + } + } + + /** + * Recompute whatever data is displayed by this widget. + */ + public void reflowData() { + // Default: nothing to do + } + /** * Get the horizontal scrollbar, or null if this Viewport does not * support horizontal scrolling.