Troubleshooting Layouts
Posted: Wed Jan 31, 2018 9:17 am
Anybody have any ideas / tips on troubleshooting layout issues?
I typically use different border colors to get a handle on where different panels are rendering but I am having a heck of time figuring out why one panel is MUCH larger then everything else.
The shell looks like this in the IDE. All "content" panels are put into the panel with the blue border. That panel's size is ContentHeight - Fit to Width. When a panel is activated and put in the container it is done so like this.
The panel I am putting into that panel is this. The red border is yet another panel inside this one, outlined by green.
The layout for that component is pretty small
Yet when rendered it looks like this. Notice the blue and green borders running out of the bottom of the browser window.
I've tried everything I can think of and I cannot get this sized properly.
On another panel that has the EXACT same panel, the rendered blue panel is smaller and does not flow off the browser, although it still does not match the height of the panel in the IDE.
I typically use different border colors to get a handle on where different panels are rendering but I am having a heck of time figuring out why one panel is MUCH larger then everything else.
The shell looks like this in the IDE. All "content" panels are put into the panel with the blue border. That panel's size is ContentHeight - Fit to Width. When a panel is activated and put in the container it is done so like this.
Code: Select all
evtroutine handling(#PTOApplicationManager.PanelActivated) panel(#panel) forward(#forward)
#panel.Parent <= #ContainerPanel
#LayoutItem4.Manage <= #panel
#LayoutItem4.Sizing := ContentHeightFitToWidth
if ((#PTOContentPanel *IsNot *Null) *And (#PTOContentPanel *IsNotEqualTo #panel))
if (#forward)
#COM_OWNER.Transition from(#PTOContentPanel) to(#panel) transitiontype(DifferentEasingFromLeft) duration(250)
else
#COM_OWNER.Transition from(#PTOContentPanel) to(#panel) transitiontype(DifferentEasingFromRight) duration(250)
endif
else
#panel.Visible := True
endif
#PTOContentPanel <= #panel
#PTOContentPanel.Activate
endroutine
Code: Select all
begin_com role(*EXTENDS #PTOContentPanel) layoutmanager(#MainLayout) height(537) width(1041) style(#Style1)
* ================================================================================
* LAYOUT
* ================================================================================
define_com class(#PRIM_VS.Style) name(#Style1) borderbottom(1) borderleft(1) borderright(1) bordertop(1) borderbrush(#Brush1)
define_com class(#PRIM_VS.SolidBrush) name(#Brush1) color(2:255:1)
define_com class(#PRIM_VS.Style) name(#Style2) borderbottom(1) borderleft(1) borderright(1) bordertop(1) borderbrush(#Brush2)
define_com class(#PRIM_VS.SolidBrush) name(#Brush2) color(255:0:10)
define_com class(#PRIM_TBLO) name(#MainLayout)
define_com class(#PRIM_TBLO.Row) name(#LayoutRow1) displayposition(1) parent(#MainLayout)
define_com class(#PRIM_TBLO.Column) name(#LayoutColumn1) displayposition(1) parent(#MainLayout)
define_com class(#PRIM_TBLO.Item) name(#LayoutItem1) alignment(TopCenter) column(#LayoutColumn1) manage(#PTORequestDetailPanel) parent(#MainLayout) row(#LayoutRow1) flow(Down) sizing(ContentHeightFitToWidth)
define_com class(#PRIM_TBLO.Item) name(#LayoutItem2) alignment(TopCenter) column(#LayoutColumn1) manage(#SubmitButton) parent(#MainLayout) row(#LayoutRow1) sizing(None) flow(Down)
define_com class(#PRIM_TBLO.Item) name(#LayoutItem3) alignment(TopCenter) column(#LayoutColumn1) manage(#LoadingImage) parent(#MainLayout) row(#LayoutRow1) sizing(None) margintop(100)
* ================================================================================
* UI COMPONENTS
* ================================================================================
define_com class(#PTORequestDetailPanel) name(#PTORequestDetailPanel) parent(#COM_OWNER) tabstop(False) width(1039) style(#Style2) height(499)
define_com class(#PRIM_PHBN) name(#SubmitButton) caption('Submit') displayposition(2) left(474) parent(#COM_OWNER) tabposition(2) themedrawstyle('PrimaryButton') height(35) width(90) top(499)
define_com class(#PRIM_IMAG) name(#LoadingImage) displayposition(3) left(575) parent(#COM_OWNER) tabposition(3) tabstop(False) top(100) visible(False)
define_com class(#PTOMessagePopupPanel) name(#PTOMessagePopupPanel) left(800) parent(#COM_OWNER) top(522)
* OTHER CODE OMITTED
end_com
On another panel that has the EXACT same panel, the rendered blue panel is smaller and does not flow off the browser, although it still does not match the height of the panel in the IDE.