[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reordering components in HPanel fails
[Thread Prev] | [Thread Next]
- Subject: Re: Reordering components in HPanel fails
- From: Stéphane Aulery <lkppo@xxxxxxx>
- Date: Wed, 17 Jul 2024 04:29:31 +0200
- To: user@xxxxxxxxxxxxxxxxxxxxxx
Le 16/07/2024 à 15:00, Stéphane Aulery a écrit :
Le 16/07/2024 à 14:34, T Lee Davidson a écrit :On 7/16/24 08:21, T Lee Davidson wrote:On 7/16/24 08:06, Stéphane Aulery wrote:So, the order is the order of insertion ?It would be better to have an explicit Order property instead of fiddling with the IDE.I expected that at least the container tree editor could change the order since it has the buttons to reorder. Is this a bug or missing feature?I recall having an similar issue (actually a misunderstanding of expected behavior) a while back. Back far enough that I don't remember the minute details at the moment. I'll have to see if I can find the thread on the mailing list archive. In the meantime...The order used is the order in the IDE graphical designer. For a container having the Arrangement property set to other than "None", the components cannot be reordered via the Hierarchy tree.You could try enlarging the container temporarily to give more room to reorder the controls. Then set it back to the size you want.Here is the link to the informative response from Benoît: https://lists.gambas-basic.org/pipermail/user/2024-January/081309.htmlBenoît said they follow the values of X property. However, it seemed to me that this was not the case. I'll check later.And what would happen if X is the same everywhere and only Y varies?
I was wrong, it's not an HPanel but a Panel. I think it doesn't change anything because the Arrangement property is on Vertical.
In the left column all elements have the same value for property X (7).excution.png, form.png and FMain.form show that controls inside Panel3 are ordered by their order in FMain.form.
I also tried to set the X of LabelSearchOptions to 5 and the X LabelSearchText to 9, to check if X values change the ordering inside the panel in execution. It's still not better.
When reading the code which arranges the controls in the container I find nothing which changes their order according to X. It just loops over the controls with different effects depending on the mode, expand, padding...
https://gitlab.com/gambas/gambas/-/blob/master/gb.qt4/share/gb.form.arrangement.h?ref_type=heads#L134Finally I did as you told me by adding a line of code with Raise calls. This has an effect on sorting as expected (see form_with_raise.png).
THe call to Raise is here https://gitlab.com/lkppo/gambas/-/blob/master/gb.qt4/src/CWidget.cpp?ref_type=heads#L1216 which calls arrange_parent(), https://gitlab.com/lkppo/gambas/-/blob/master/gb.qt4/src/CWidget.cpp?ref_type=heads#L595 and then calls CCONTAINER_arrange(), https://gitlab.com/lkppo/gambas/-/blob/master/gb.qt4/src/CContainer.cpp?ref_type=heads#L348This function changes the level (by an edge effect?) of the control and refreshes the geometry.
I'm far from understanding everything but it seems to me that X never intervenes. The display follows the order in which the controls were saved in FMain.form, and calling Raise forces that order.
-- Stéphane Aulery
Attachment:
execution.png
Description: PNG image
Attachment:
form.png
Description: PNG image
# Gambas Form File 3.0
{ Form Form
MoveScaled(0,0,142,64)
Icon = Picture["Images/AstroGrep_256x256.png"]
Arrangement = Arrange.Fill
{ MenuFile Menu
Text = ("File")
{ MenuNewWindow Menu
Text = ("New Window")
Shortcut = "N"
}
{ Menu1 Menu
}
{ MenuSelectSearchPath Menu
Text = ("Select Search Path") & "..."
Picture = Picture["Images/folder-open.png"]
Shortcut = "O"
}
{ Menu2 Menu
}
{ MenuSaveResults Menu
Text = ("Save Results") & "..."
Enabled = False
Shortcut = "S"
}
{ MenuPrintResults Menu
Text = ("Print Results") & "..."
Enabled = False
Shortcut = "P"
}
{ Menu3 Menu
}
{ MenuExit Menu
Text = ("Exit")
Shortcut = "Q"
}
{ MenuExitAll Menu
Text = ("Exit All")
}
}
{ MenuEdit Menu
Text = ("Edit")
{ MenuSelectAllFiles Menu
Text = ("Select All Files")
Enabled = False
}
{ MenuOpenSelectedFiles Menu
Text = ("Open Selected Files")
Enabled = False
}
}
{ MenuView Menu
Text = ("View")
{ MenuStatusMessages Menu
Text = ("Status Messages")
Enabled = False
}
{ MenuExclusionMessages Menu
Text = ("Exclusion Messages")
Enabled = False
}
{ MenuErrorMessages Menu
Text = ("Error Messages")
Enabled = False
}
{ MenuAllMessages Menu
Text = ("All Messages")
Enabled = False
}
{ Menu4 Menu
}
{ MenuZoom Menu
Text = ("Zoom")
{ MenuZoomIn Menu
Text = ("Zoom In (Ctrl + Mouse Wheel Up)")
Shortcut = "Ctrl++"
}
{ MenuZoomOut Menu
Text = ("Zoom Out (Ctrl + Mouse Wheel Down)")
Shortcut = "Ctrl+-"
}
{ MenuRestoreDefaultZoom Menu
Text = ("Restore Default Zoom")
Shortcut = "Ctrl+/"
}
}
{ MenuLinesNumbers Menu
Text = ("Lines Numbers")
Picture = Picture["Resources/line_numbers.png"]
Toggle = True
Checked = True
}
{ MenuWordWrap Menu
Text = ("Word Wrap")
Picture = Picture["Resources/word_wrap.png"]
}
{ MenuRemoveLeadingWhiteSpace Menu
Text = ("Remove Leading White Space")
Picture = Picture["Resources/text_indent_remove.png"]
}
{ MenuEntireFile Menu
Text = ("Entire File")
Picture = Picture["Resources/text_resize.png"]
}
{ MenuShowAllCharacters Menu
Text = ("Show All Characters")
Picture = Picture["Resources/pilcrow.png"]
}
{ Menu5 Menu
}
{ MenuAllResults Menu
Text = ("All Results")
Picture = Picture["Resources/preview_results.png"]
}
}
{ MenuTools Menu
Text = ("Tools")
{ MenuClearMostRecentlyUsedLists Menu
Text = ("Clear Most Recently Used Lists")
}
{ Menu6 Menu
{ MenuSearchPath Menu
Text = ("Search Path")
}
{ MenuFileTypes Menu
Text = ("File Types")
}
{ MenuSearchText Menu
Text = ("Search Text")
}
{ Menu7 Menu
}
{ MenuAll Menu
Text = ("All")
}
}
{ MenuSaveSearchOptions Menu
Text = ("Save Search Options")
}
{ MenuOptions Menu
Text = ("Options")
Picture = Picture["Resources/cog.png"]
Shortcut = "F9"
}
}
{ MenuHelp Menu
Text = ("Help")
{ MenuViewHelp Menu
Text = ("View Help")
Shortcut = "F1"
}
{ MenuRegularExpressions Menu
Text = ("Regular Expressions")
}
{ MenuLogFile Menu
Text = ("Log File")
}
{ Menu8 Menu
}
{ MenuCheckForUpdates Menu
Text = ("Check For Updates") & "..."
}
{ Menu9 Menu
}
{ MenuDonate Menu
Text = ("Donate")
}
{ MenuAboutAstroGrep Menu
Text = ("About AstroGrep")
Picture = Picture["Images/AstroGrep_256x256.png"]
}
}
{ Panel1 Panel
MoveScaled(0,0,142.8571,60.8571)
{ Splitter1 Splitter
MoveScaled(0,0,142,60)
{ Panel3 Panel
MoveScaled(0,0,35,60)
Arrangement = Arrange.Vertical
{ ComboBoxSearchPath ComboBox
MoveScaled(1,8,33,4)
}
{ ComboBoxFileTypes ComboBox
MoveScaled(1,16,33,4)
}
{ LabelAstroGrepSearch Label
MoveScaled(1,0,33,6)
Font = Font["+3"]
Foreground = Color.Orange
Text = ("AstroGrep Search")
}
{ ComboBoxSearchText ComboBox
MoveScaled(1,24,33,4)
}
{ LabelSearchOptions Label
MoveScaled(1,31,33,6)
Font = Font["+3"]
Foreground = Color.Orange
Text = ("Search Options")
}
{ LabelSearchPath Label
MoveScaled(1,5,33,3)
Text = ("Search Path")
}
{ LabelFileTypes Label
MoveScaled(1,13,33,3)
Text = ("File Types")
}
{ LabelSearchText Label
MoveScaled(1,21,33,3)
Text = ("Search Text")
}
}
{ Panel2 Panel
MoveScaled(35,0,107.8571,60.8571)
{ Splitter2 Splitter
MoveScaled(0,0,107,60)
Expand = True
Arrangement = Arrange.Vertical
{ Panel4 Panel
MoveScaled(0,0,107,32)
Arrangement = Arrange.Fill
{ ColumnView1 ColumnView
MoveScaled(0,0,107,32)
}
}
{ VBox2 VBox
MoveScaled(0,32,107,28)
Expand = True
AutoResize = True
{ TextEditor1 TextEditor
MoveScaled(0,0,107,28)
ReadOnly = True
ShowLineNumber = True
}
}
}
}
}
}
}
Attachment:
form_with_raise.png
Description: PNG image
| Re: Reordering components in HPanel fails | BB <adamnt42@xxxxxxxxx> |
| Re: Reordering components in HPanel fails | T Lee Davidson <t.lee.davidson@xxxxxxxxx> |
| Reordering components in HPanel fails | Stéphane Aulery <lkppo@xxxxxxx> |
| Re: Reordering components in HPanel fails | Bruce Steers <bsteers4@xxxxxxxxx> |
| Re: Reordering components in HPanel fails | Bruce Steers <bsteers4@xxxxxxxxx> |
| Re: Reordering components in HPanel fails | Stéphane Aulery <lkppo@xxxxxxx> |
| Re: Reordering components in HPanel fails | T Lee Davidson <t.lee.davidson@xxxxxxxxx> |
| Re: Reordering components in HPanel fails | T Lee Davidson <t.lee.davidson@xxxxxxxxx> |
| Re: Reordering components in HPanel fails | Stéphane Aulery <lkppo@xxxxxxx> |