Skip to content

Commit 7574e3d

Browse files
committed
Finished StackedPanelAdder
1 parent 7ead5f0 commit 7574e3d

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

panelstudio/src/main/java/com/lukflug/panelstudio/layout/ChildUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ public ChildUtil (int width, Supplier<Animation> animation, IPopupPositioner pop
3333
this.popupHeight=popupHeight;
3434
}
3535

36-
protected <T> void addContainer (ILabeled label, IComponent title, VerticalContainer container, Supplier<T> state, Class<T> stateClass, VerticalContainer parent, IComponentAdder gui, ITheme theme, int logicalLevel, int graphicalLevel, ChildMode mode) {
37-
DraggableComponent<FixedComponent<ClosableComponent<ComponentProxy<IComponent>,ScrollBarComponent<Void,VerticalContainer>>>> popup;
36+
protected <T> void addContainer (ILabeled label, IComponent title, IComponent container, Supplier<T> state, Class<T> stateClass, VerticalContainer parent, IComponentAdder gui, ITheme theme, int logicalLevel, int graphicalLevel, ChildMode mode) {
37+
DraggableComponent<FixedComponent<ClosableComponent<ComponentProxy<IComponent>,ScrollBarComponent<Void,IComponent>>>> popup;
3838
IToggleable toggle;
3939
boolean drawTitle=mode==ChildMode.DRAG_POPUP;
4040
switch (mode) {
4141
case DOWN:
42-
parent.addComponent(new ClosableComponent<IComponent,VerticalContainer>(title,container,state,new SimpleToggleable(false),animation.get(),theme.getPanelRenderer(stateClass,logicalLevel,graphicalLevel)));
42+
parent.addComponent(new ClosableComponent<IComponent,IComponent>(title,container,state,new SimpleToggleable(false),animation.get(),theme.getPanelRenderer(stateClass,logicalLevel,graphicalLevel)));
4343
break;
4444
case POPUP:
4545
case DRAG_POPUP:

panelstudio/src/main/java/com/lukflug/panelstudio/layout/SinglePanelAdder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
public class SinglePanelAdder implements IComponentAdder {
2020
protected final IContainer<? super IFixedComponent> container;
21-
protected HorizontalContainer title,content;
21+
protected final HorizontalContainer title,content;
2222

2323
public SinglePanelAdder (IContainer<? super IFixedComponent> container, ILabeled label, ITheme theme, Point position, int width, Supplier<Animation> animation) {
2424
this.container=container;

panelstudio/src/main/java/com/lukflug/panelstudio/layout/StackedPanelAdder.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,30 @@
1010
import com.lukflug.panelstudio.component.IFixedComponent;
1111
import com.lukflug.panelstudio.container.IContainer;
1212
import com.lukflug.panelstudio.container.VerticalContainer;
13+
import com.lukflug.panelstudio.layout.ChildUtil.ChildMode;
1314
import com.lukflug.panelstudio.setting.ILabeled;
15+
import com.lukflug.panelstudio.setting.Labeled;
1416
import com.lukflug.panelstudio.theme.ITheme;
1517
import com.lukflug.panelstudio.widget.Button;
1618
import com.lukflug.panelstudio.widget.ClosableComponent;
1719

1820
public class StackedPanelAdder implements IComponentAdder {
1921
protected final IContainer<? super IFixedComponent> container;
20-
protected VerticalContainer content;
22+
protected final ChildMode mode;
23+
protected final VerticalContainer content;
2124
protected final ChildUtil util;
2225

23-
public StackedPanelAdder (IContainer<? super IFixedComponent> container, ILabeled label, ITheme theme, Point position, int width, Supplier<Animation> animation, IPopupPositioner popupPos) {
26+
public StackedPanelAdder (IContainer<? super IFixedComponent> container, ILabeled label, ITheme theme, Point position, int width, Supplier<Animation> animation, ChildMode mode, IPopupPositioner popupPos) {
2427
this.container=container;
28+
this.mode=mode;
2529
content=new VerticalContainer(label,theme.getContainerRenderer(-1,-1,true));
2630
container.addComponent(ClosableComponent.createDraggableComponent(new Button(label,theme.getButtonRenderer(Void.class,-1,-1,true)),content,()->null,new SimpleToggleable(true),animation.get(),theme.getPanelRenderer(Void.class,-1,-1),theme.getScrollBarRenderer(Void.class,-1,-1),theme.getEmptySpaceRenderer(Void.class,-1,-1),this::getScrollHeight,this::getComponentWidth,position,width,false));
2731
util=new ChildUtil(width,animation,popupPos,this::getScrollHeight);
2832
}
2933

3034
@Override
3135
public <S extends IComponent,T extends IComponent> void addComponent(S title, T content, ITheme theme, int logicalLevel, int graphicalLevel, Point position, int width, Supplier<Animation> animation) {
32-
this.content.addComponent(new ClosableComponent<S,T>(title,content,()->null,new SimpleToggleable(false),animation.get(),theme.getPanelRenderer(Void.class,logicalLevel,graphicalLevel)));
33-
//util.addContainer(title, title, null, null, null, null, null, theme, logicalLevel, graphicalLevel, null);
36+
util.addContainer(new Labeled(content.getTitle(),null,()->content.isVisible()),title,content,()->null,Void.class,this.content,this,theme,logicalLevel,graphicalLevel,mode);
3437
}
3538

3639
@Override

0 commit comments

Comments
 (0)