git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bundles/TransBundles: fix for def values
[fanfix.git]
/
src
/
jexer
/
layout
/
StretchLayoutManager.java
diff --git
a/src/jexer/layout/StretchLayoutManager.java
b/src/jexer/layout/StretchLayoutManager.java
index 3dd74521b533f8086adee17fc4ecb38e0ba0be2e..ee2bf5aba5e5f70d4da15e6376bcd36164b26f7e 100644
(file)
--- a/
src/jexer/layout/StretchLayoutManager.java
+++ b/
src/jexer/layout/StretchLayoutManager.java
@@
-82,6
+82,8
@@
public class StretchLayoutManager implements LayoutManager {
public StretchLayoutManager(final int width, final int height) {
originalWidth = width;
originalHeight = height;
public StretchLayoutManager(final int width, final int height) {
originalWidth = width;
originalHeight = height;
+ this.width = width;
+ this.height = height;
}
// ------------------------------------------------------------------------
}
// ------------------------------------------------------------------------
@@
-111,6
+113,7
@@
public class StretchLayoutManager implements LayoutManager {
Rectangle rect = new Rectangle(child.getX(), child.getY(),
child.getWidth(), child.getHeight());
children.put(child, rect);
Rectangle rect = new Rectangle(child.getX(), child.getY(),
child.getWidth(), child.getHeight());
children.put(child, rect);
+ layoutChildren();
}
/**
}
/**
@@
-120,6
+123,17
@@
public class StretchLayoutManager implements LayoutManager {
*/
public void remove(final TWidget child) {
children.remove(child);
*/
public void remove(final TWidget child) {
children.remove(child);
+ layoutChildren();
+ }
+
+ /**
+ * Reset a child widget's original/preferred size.
+ *
+ * @param child the widget to manage
+ */
+ public void resetSize(final TWidget child) {
+ // For this layout, adding is the same as replacing.
+ add(child);
}
// ------------------------------------------------------------------------
}
// ------------------------------------------------------------------------
@@
-130,7
+144,7
@@
public class StretchLayoutManager implements LayoutManager {
* Resize/reposition child widgets based on difference between current
* dimensions and the original dimensions.
*/
* Resize/reposition child widgets based on difference between current
* dimensions and the original dimensions.
*/
- p
ublic
void layoutChildren() {
+ p
rivate
void layoutChildren() {
double widthRatio = (double) width / originalWidth;
if (!Double.isFinite(widthRatio)) {
widthRatio = 1;
double widthRatio = (double) width / originalWidth;
if (!Double.isFinite(widthRatio)) {
widthRatio = 1;