Discussion:
[Lazarus] Component palette reordering
Juha Manninen
2014-11-14 12:05:17 UTC
Permalink
There is a new feature for reordering tabs and components in the
component palette. See "Component palette" in environment options.
Please test but don't open bug reports yet. The feature is under heavy
development and still has known issues.
One issue is that the tabs show in reverse order sometimes after
closing the settings window.
D'n'd does not work reliably with all widgetsets. I will add buttons.

Comments are welcome but bug reports not yet.

Regards,
Juha

--
Juha Manninen
2014-11-14 14:15:27 UTC
Permalink
How to set item height in ListView?
I added :
ComponentsListView.SmallImages := IDEImages.Images_24;
in the settings GUI and somehow the height is now correct on Windows
but on Linux with GTK2 or with QT it is too low. Parts of icons are
cut off.

Juha

--
zeljko
2014-11-14 14:28:00 UTC
Permalink
Post by Juha Manninen
How to set item height in ListView?
ComponentsListView.SmallImages := IDEImages.Images_24;
in the settings GUI and somehow the height is now correct on Windows
but on Linux with GTK2 or with QT it is too low. Parts of icons are
cut off.
Open an issue about it. Qt will be easy to fix, not sure about gtk2.

zeljko


--
FreeMan
2014-11-15 11:45:04 UTC
Permalink
Hello Juha,
If its possible, can you fix this issue too? I can not click to up button.
Kubuntu 14.04x64, last svn and QT widgetset



This picture from first run IDE. After change tab to any other tab ,
space is been normal between icons. My IDE's main window not maximize or
full width of screensize. it's width, smalled then default width.


Thank you.
Post by Juha Manninen
There is a new feature for reordering tabs and components in the
component palette. See "Component palette" in environment options.
Please test but don't open bug reports yet. The feature is under heavy
development and still has known issues.
One issue is that the tabs show in reverse order sometimes after
closing the settings window.
D'n'd does not work reliably with all widgetsets. I will add buttons.
Comments are welcome but bug reports not yet.
Regards,
Juha
Juha Manninen
2014-11-15 20:55:23 UTC
Permalink
Post by FreeMan
Hello Juha,
If its possible, can you fix this issue too? I can not click to up button.
Kubuntu 14.04x64, last svn and QT widgetset
It may be fixed already.
I did not see the large gap between icons but I saw the wrong order of
tabs. After my last bug fixes I could not reproduce that any more.
So, first load the latest sources, build Lazarus, close it, then remove
completely the section
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
from ~/.lazarus/environmentoptions.xml.
Then start Lazarus and test the palette options again.
Tell me what happened.

Juha
FreeMan
2014-11-16 09:23:54 UTC
Permalink
Hello,
Post by Juha Manninen
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
from ~/.lazarus/environmentoptions.xml.
That tag not in there, looked for all files in my profile folder too.
I updated to r46868
Reopen IDE and result is same. I open IDE options, then "Open last
project at start" to Unchecked and Click ok. Re start IDE now
ComponentPalette showing normally, icon space and tab order is okey now.
but <ComponentPaletteOptions> still not there I'm not change palette
options before and now.

While testing I found funny bug
Open IDE, Select the last tab of palette, open IDE options, just click
ok without any changeing. and tab order reversed, last tab been first
tab, first tab been last tab
Retart IDE, Standart tab is first tab and other tab is normal order.

Restart IDE, ComponentPalette is normal order and icon spaces, I opened
my project then Component Palette order changed, Its been on sended
screenshot in before mail. between icon has space, tab orders changed.
Thank you,
FreeMan
2014-11-18 09:54:32 UTC
Permalink
lazarus svn r46872,
Component Palette order and icon space fixed. On Start IDE and after
open project Component Palette order and space is normal now.
But when open project, so much slow opening forms.
Post by FreeMan
Hello,
Post by Juha Manninen
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
from ~/.lazarus/environmentoptions.xml.
That tag not in there, looked for all files in my profile folder too.
I updated to r46868
Reopen IDE and result is same. I open IDE options, then "Open last
project at start" to Unchecked and Click ok. Re start IDE now
ComponentPalette showing normally, icon space and tab order is okey now.
but <ComponentPaletteOptions> still not there I'm not change palette
options before and now.
While testing I found funny bug
Open IDE, Select the last tab of palette, open IDE options, just click
ok without any changeing. and tab order reversed, last tab been first
tab, first tab been last tab
Retart IDE, Standart tab is first tab and other tab is normal order.
Restart IDE, ComponentPalette is normal order and icon spaces, I
opened my project then Component Palette order changed, Its been on
sended screenshot in before mail. between icon has space, tab orders
changed.
Thank you,
Mattias Gaertner
2014-11-18 10:03:36 UTC
Permalink
On Tue, 18 Nov 2014 11:54:32 +0200
Post by FreeMan
But when open project, so much slow opening forms.
You can disable
Tools / Options / Form Editor / Open Designer on open unit

Mattias

--
Juha Manninen
2014-11-18 13:17:04 UTC
Permalink
Post by FreeMan
lazarus svn r46872,
Component Palette order and icon space fixed. On Start IDE and after open
project Component Palette order and space is normal now.
But when open project, so much slow opening forms.
The palette changes should not affect form loading speed. If it does then
it must be fixed.
I did not notice any slowdown myself.
Are you sure the latest commits made the difference for you?
Please test with Lazarus compiled before and after the changes.
There may be some unoptimed linear searches but the effect should not be
noticeable for human eye.

Juha
FreeMan
2014-11-18 15:19:17 UTC
Permalink
For test I downgrade to r46870. I make and rebuild lazarus and test
forms opening speed while opening project, and its normal timeing for
me, mean fast. I add 4 more units, source editor has 7 units and forms
in this test

➜ lazarus svn up -r46872
'.' gÃŒncelleniyor:
U ide/componentlist.pas
U ide/componentpalette.pas
U ide/frames/componentpalette_options.pas
U packager/addtopackagedlg.pas
U components/ideintf/componentreg.pas
46872 gözden geçirmesine gÌncellendi.

I can not say _so much_ slow, but I can say yes, r46872 is slower then
r46870. r46878 is slower too. I wanna say one more time not "to much"
but on my first mail, I wrote its so slow.
My all forms is inherited from my main form class. I don't know IDE form
read mechanismhow work, just brain storm, for all each component,
looking for search path and looking for dependence so can loose time for
this. Maybe Component Palette any codes trigger read or write any
property this controls.
just coincidence I found, RunTimeTypeInfoControls.lpk has
"rttictrls.lrs" filename, but file not there.
Post by Juha Manninen
The palette changes should not affect form loading speed. If it does
then it must be fixed.
I did not notice any slowdown myself.
Are you sure the latest commits made the difference for you?
Please test with Lazarus compiled before and after the changes.
There may be some unoptimed linear searches but the effect should not
be noticeable for human eye.
Juha
Mattias Gaertner
2014-11-18 15:50:32 UTC
Permalink
On Tue, 18 Nov 2014 17:19:17 +0200
Post by FreeMan
[...]
just coincidence I found, RunTimeTypeInfoControls.lpk has
"rttictrls.lrs" filename, but file not there.
Thanks for the hint. Fixed.

Mattias

--
Juha Manninen
2014-11-19 00:04:03 UTC
Permalink
I still cannot see any slowdowns when opening forms.
Can anybody else see it?
I can also profile the code later but it is not a high priority.

Juha

P.S
I have also made an option to use CheckBoxes for Boolean values in Object
Inspector.
Please check how it works.
This is not related to component palette though.
Sandro Cumerlato
2014-11-19 08:30:44 UTC
Permalink
Post by Juha Manninen
P.S
I have also made an option to use CheckBoxes for Boolean values in Object
Inspector.
Please check how it works.
This is not related to component palette though.
Painting is not working properly under Windows. Look at the attachments.

Sandro
Juha Manninen
2014-11-19 10:35:55 UTC
Permalink
On Wed, Nov 19, 2014 at 10:30 AM, Sandro Cumerlato
Post by Sandro Cumerlato
Painting is not working properly under Windows. Look at the attachments.
Pease try commenting out the code I added in r46885. For me it makes
no difference but I don't see the redraw errors either.
You can try other experiments around that code, too.

There were serious redraw problems earlier but I thought I solved them
by using AutoSize instead of SetBounds for CheckBox in r468850.
See also issue:
http://bugs.freepascal.org/view.php?id=22347

BTW, did you notice a slowdown after my component palette changes?

Juha

--
Sandro Cumerlato
2014-11-19 13:11:21 UTC
Permalink
Attached patch solves CheckBox panting issue.

P.S.: CheckBox is not yet aligned correctly if corresponding row is
selected.

Sandro
Post by Juha Manninen
On Wed, Nov 19, 2014 at 10:30 AM, Sandro Cumerlato
Post by Sandro Cumerlato
Painting is not working properly under Windows. Look at the attachments.
Pease try commenting out the code I added in r46885. For me it makes
no difference but I don't see the redraw errors either.
You can try other experiments around that code, too.
There were serious redraw problems earlier but I thought I solved them
by using AutoSize instead of SetBounds for CheckBox in r468850.
http://bugs.freepascal.org/view.php?id=22347
BTW, did you notice a slowdown after my component palette changes?
Juha
--
_______________________________________________
Lazarus mailing list
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Juha Manninen
2014-11-19 15:04:24 UTC
Permalink
On Wed, Nov 19, 2014 at 3:11 PM, Sandro Cumerlato
Post by Sandro Cumerlato
Attached patch solves CheckBox panting issue.
Applied, thanks. You are clever, I did not notice that one.
Post by Sandro Cumerlato
P.S.: CheckBox is not yet aligned correctly if corresponding row is
selected.
Aligned to what?
In fact there are 2 very different CheckBoxes now: a real one and a fake one.
The real one is shown on the selected row. The fake one is drawn
everywhere else using theme services.

Juha

--
FreeMan
2014-11-19 15:39:25 UTC
Permalink
For cosmatic, Unselected line's, need 1 or pixel move to up for draw
square lines. And can draw border lines like other lines.
I get this screenshot in QT and linux x64(kubuntu)



If I were you, change subject, before someone scold.
Aligned to what? In fact there are 2 very different CheckBoxes now: a
real one and a fake one. The real one is shown on the selected row.
The fake one is drawn everywhere else using theme services. Juha --
Juha Manninen
2014-11-19 16:52:11 UTC
Permalink
Post by FreeMan
For cosmatic, Unselected line's, need 1 or pixel move to up for draw
square lines. And can draw border lines like other lines.
I get this screenshot in QT and linux x64(kubuntu)
Ok, I see. I also coded this feature on Mint Linux + KDE with QT but our
desktop theme or something must be different.
For me the alignment looked ok there and also on Windows, although on
Windows the LCL theme service draws too small boxes.
The alignment must be calculated dynamically. Theme service already returns
the size, the location can be derived from it.
Maybe someone creates a patch, I have other things to do in near future.

Juha
Sandro Cumerlato
2014-11-19 18:11:12 UTC
Permalink
Post by Juha Manninen
For me the alignment looked ok there and also on Windows, although on
Windows the LCL theme service draws too small boxes.
The alignment must be calculated dynamically. Theme service already
returns the size, the location can be derived from it.
Maybe someone creates a patch, I have other things to do in near future.
Please review attached patch (commented-out code seems not needed).

Alignment is better on Windows now: checkboxes are vertically aligned now,
only text left position is different.

Sandro
Juha Manninen
2014-11-19 19:38:07 UTC
Permalink
On Wed, Nov 19, 2014 at 8:11 PM, Sandro Cumerlato
Post by Sandro Cumerlato
Please review attached patch (commented-out code seems not needed).
Applied, thanks.

Juha

--
FreeMan
2014-11-19 15:52:45 UTC
Permalink
This is not too much important for me, My project open in a just second,
problem can be on my system, Just I let you know, can be some property
triggered, so I wrote.
Sorry for didn't say before, this job is good. Long time ago I was think
this. And I thinked, usually programmer use less then 10 component,
(Tlabel, Tedit etc.) First Component palette tab can favorite
components, can Clone icon's on this tab from option via drag drop, this
just idea
Thank you
Post by Juha Manninen
I still cannot see any slowdowns when opening forms.
Can anybody else see it?
I can also profile the code later but it is not a high priority.
--
Juha Manninen
2014-11-19 16:37:31 UTC
Permalink
Post by FreeMan
Sorry for didn't say before, this job is good.
Thanks.
Post by FreeMan
Long time ago I was think
this. And I thinked, usually programmer use less then 10 component, (Tlabel,
Tedit etc.) First Component palette tab can favorite components, can Clone
icon's on this tab from option via drag drop, this just idea
The GUI is not finished yet but you can already create your favorite
tab and drag the components there.
That is the whole idea of this feature.

I have more ideas for the future. There could be pre-configured and
user configured component layouts to choose from.
The current tab names and component placements are not logical.
"Common Controls" comes from Delphi's COM-wrapper components which
makes no sense in a cross-platform system.
"Standard", what does it mean? All LCL components are standard IMO.
"Addional" or "Misc" do not mean anything.
Why the buttons and edit-controls are divided between Standard and Additional?
Maybe there should be tabs called "Buttons", "Edits", "Multi-line
text", "Graphics" etc.

Juha

--
Sandro Cumerlato
2014-11-19 18:24:21 UTC
Permalink
ComponentPalette is refreshed everytime when IDE Options window is closed
clicking the OK button. It should refresh only if something has been
modified.

Sandro
Post by Juha Manninen
Post by FreeMan
Sorry for didn't say before, this job is good.
Thanks.
Post by FreeMan
Long time ago I was think
this. And I thinked, usually programmer use less then 10 component,
(Tlabel,
Post by FreeMan
Tedit etc.) First Component palette tab can favorite components, can
Clone
Post by FreeMan
icon's on this tab from option via drag drop, this just idea
The GUI is not finished yet but you can already create your favorite
tab and drag the components there.
That is the whole idea of this feature.
I have more ideas for the future. There could be pre-configured and
user configured component layouts to choose from.
The current tab names and component placements are not logical.
"Common Controls" comes from Delphi's COM-wrapper components which
makes no sense in a cross-platform system.
"Standard", what does it mean? All LCL components are standard IMO.
"Addional" or "Misc" do not mean anything.
Why the buttons and edit-controls are divided between Standard and Additional?
Maybe there should be tabs called "Buttons", "Edits", "Multi-line
text", "Graphics" etc.
Juha
--
_______________________________________________
Lazarus mailing list
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Flávio Etrusco
2014-11-21 01:37:33 UTC
Permalink
On Wed, Nov 19, 2014 at 1:37 PM, Juha Manninen
Post by Juha Manninen
Post by FreeMan
Sorry for didn't say before, this job is good.
Thanks.
Post by FreeMan
Long time ago I was think
this. And I thinked, usually programmer use less then 10 component, (Tlabel,
Tedit etc.) First Component palette tab can favorite components, can Clone
icon's on this tab from option via drag drop, this just idea
The GUI is not finished yet but you can already create your favorite
tab and drag the components there.
That is the whole idea of this feature.
I have more ideas for the future. There could be pre-configured and
user configured component layouts to choose from.
The current tab names and component placements are not logical.
"Common Controls" comes from Delphi's COM-wrapper components which
makes no sense in a cross-platform system.
"Standard", what does it mean? All LCL components are standard IMO.
"Addional" or "Misc" do not mean anything.
Why the buttons and edit-controls are divided between Standard and Additional?
Maybe there should be tabs called "Buttons", "Edits", "Multi-line
text", "Graphics" etc.
Juha
Very nice idea, I don't think following Borland's weird convention
(there some compatibility issues in commctl32 history but I seriously
doubt anybody ever avoided using the controls because of this...)
forever is beneficial.

BTW don't you like the "integrated find" feature, like in e.g. kzdesktop?

Best regards,
Flávio

--
Juha Manninen
2014-11-21 07:01:59 UTC
Permalink
On Fri, Nov 21, 2014 at 3:37 AM, Flávio Etrusco
Post by Flávio Etrusco
BTW don't you like the "integrated find" feature, like in e.g. kzdesktop?
How does it work? I have not used kzdesktop?
We have the Component List (Ctrl-Alt-P) which has a filter.

Juha

--
Juha Manninen
2014-11-21 13:58:55 UTC
Permalink
If anybody has problems installing packages or similar, please remove
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
section from local environmentoptions.xml.
The component palette related code was broken for some days last week
and may have corrupted the config.

If packages and their components install fine then no worries.

Reordering components inside a tab does not work yet. I will look at it later.
Otherwise it looks rather good IMO.

Juha

--
Flávio Etrusco
2014-11-21 14:08:55 UTC
Permalink
On Fri, Nov 21, 2014 at 4:01 AM, Juha Manninen
Post by Juha Manninen
On Fri, Nov 21, 2014 at 3:37 AM, Flávio Etrusco
Post by Flávio Etrusco
BTW don't you like the "integrated find" feature, like in e.g. kzdesktop?
How does it work? I have not used kzdesktop?
We have the Component List (Ctrl-Alt-P) which has a filter.
Juha
Sure, it provides the same feature as component list, just quicker ;-)

http://imagebin.ca/v/1i0jPibZYb26
http://imagebin.ca/v/1i0jk0qNCcze

--
FreeMan
2014-11-21 14:42:04 UTC
Permalink
My idea is, Component list is useful then kzdestop's. Maybe need some
improve, in "inheritance" tab, Treeview's lines can show, and founded
component name's node can colored so much readable.
Post by Flávio Etrusco
Post by Juha Manninen
How does it work? I have not used kzdesktop?
We have the Component List (Ctrl-Alt-P) which has a filter.
Juha
Sure, it provides the same feature as component list, just quicker
FreeMan
2014-11-30 10:28:55 UTC
Permalink
Has a new problems, svn r47031 kubuntu 14.04 QT

1-) lazarus some main component's tabs is empty, "Data Control, laz
control, ext, custom drawn" etc



2-) Select any tab different the first, Not use 'cos I can not track
specific reason, selected tab been first (standard tab) not sure but my
idea is palette rebuilding.

3-) I can not track reason, just move via next & prev buttons and click
random tab, some times wait while clicking next page button, and not
stop when last tabs showing, its continue. tab's names start standard
and continue from last tab. like a loop. Just this drawed tabs is no
icon all of theme is empty. and they have not "click to select palette
page" button.
I can not snapshot 'cos jump to first tab and palettes been normal.
Juha Manninen
2014-11-30 10:39:27 UTC
Permalink
Post by FreeMan
Has a new problems, svn r47031 kubuntu 14.04 QT
You have a DataModule in your project. You also probably have a mouse
movement stealing focus policy active in KDE.
When the DataModule gets focus, all pages are recreated. It needs
optimization, see issue
http://bugs.freepascal.org/view.php?id=27103

Juha
FreeMan
2014-11-30 11:18:15 UTC
Permalink
Sorry for the bad news, its not JUST about DataModule, 'cos I tested in
empty project, It has just TForm definitions, Just open IDE and check
tabs, "Data control, ext etc" tabs has no components. and many
components not showing, example: standard tab has 3 icons. TMainMenu,
Tpopupmenu and TActionlist. this issue same in Component search form as
well (ctrl+alt+P).
Post by Juha Manninen
You have a DataModule in your project. You also probably have a mouse
movement stealing focus policy active in KDE.
When the DataModule gets focus, all pages are recreated. It needs
optimization, see issue
http://bugs.freepascal.org/view.php?id=27103
Juha
--
Juha Manninen
2014-11-30 12:14:20 UTC
Permalink
Post by FreeMan
Sorry for the bad news, its not JUST about DataModule, 'cos I tested in
empty project, It has just TForm definitions, Just open IDE and check tabs,
"Data control, ext etc" tabs has no components. and many components not
showing, example: standard tab has 3 icons. TMainMenu, Tpopupmenu and
TActionlist. this issue same in Component search form as well (ctrl+alt+P).
Then you have a corrupted configuration.
Go to environment options -> Component palette and click "Restore defauts".
If there still is a problem, open "environmentoptions.xml" in your
local configuration (~/.lazarus) and delete section
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
completely if there is one.
If even that did not help then start Lazarus with clean configuration
: "./lazarus --pcp=~/.laztest" or similar.

BTW, the 3 icons in standard tab are normal for a DataModule.

Juha

--
FreeMan
2014-11-30 13:37:45 UTC
Permalink
I wrote, open IDE and new application is started. just one TFORM
I think problem is, while writing in "environmentoptions.xml" just
writing visible items.

<ComponentPaletteOptions>
<ComponentPages Count="21">
<Page1 Value="_*Standard*_">
<*Components Count="_3_"*>
....
Delete this tag from xml, IDE is started and component palette is
normal. Close IDE and restart, is normal. But No tag still in xml file.
- While IDE is open, just minimize and restore IDE from task bar, bingo
components runaway :) ok, Close IDE and reopen, components are there.
xml has no tag still.
- While component are there, open IDE options ->env. options. Component
palette, "restore default" button is disable. everythink is normal.

here we go, Make a Minimize and restore IDE, components gone, Open IDE
options and component palette options, "restore default" buton is still
disable. don't change anythink click ok. If check in
"environmentoptions.xml" <ComponentPaletteOptions> tag, there isn't
there. close IDE and check one more, xml is flashed or write while IDE
closing but just visible item infos, so next open IDE can't see, more
then 3 for standard tab

<Page1 Value="_*Standard*_">
<*Components Count="_3_"*>
Post by Juha Manninen
Then you have a corrupted configuration.
Go to environment options -> Component palette and click "Restore defauts".
If there still is a problem, open "environmentoptions.xml" in your
local configuration (~/.lazarus) and delete section
<ComponentPaletteOptions> ... </ComponentPaletteOptions>
completely if there is one.
If even that did not help then start Lazarus with clean configuration
: "./lazarus --pcp=~/.laztest" or similar.
BTW, the 3 icons in standard tab are normal for a DataModule.
Juha
Juha Manninen
2014-11-30 16:39:40 UTC
Permalink
Post by FreeMan
I wrote, open IDE and new application is started. just one TFORM
I think problem is, while writing in "environmentoptions.xml" just writing
visible items.
<ComponentPaletteOptions>
<ComponentPages Count="21">
<Page1 Value="Standard">
<Components Count="3">
I guess you have 21 pages in total. They are all saved in the configuration.
Post by FreeMan
Delete this tag from xml, IDE is started and component palette is normal.
Close IDE and restart, is normal. But No tag still in xml file.
Sounds good. The configuration only saves a difference between the
current layout and the default layout after you have changed something
in Environment -> Component Palette options.
~2 week ago the code may have saved configurations even if you did not
change anything but that is history now.
Post by FreeMan
- While IDE is open, just minimize and restore IDE from task bar, bingo
components runaway :)
I cannot reproduce this one. Minimizing/restoring the IDE does not
trigger component palette changes anyhow.
The only reason I can think of is that you have a DataModule which
gets focus after restore.
DataModule does not change the palette configuration but it triggers a
dynamic filtering so that only components that can be inserted in
DataModule are visible.
Post by FreeMan
ok, Close IDE and reopen, components are there. xml has no tag still.
- While component are there, open IDE options ->env. options. Component
palette, "restore default" button is disable. everythink is normal.
"Restore defaults" is disabled because there are no changes compared
to defaults. See, the GUI is clever. :)
Post by FreeMan
here we go, Make a Minimize and restore IDE, components gone, Open IDE
options and component palette options, "restore default" buton is still
disable. don't change anythink click ok. If check in
"environmentoptions.xml" <ComponentPaletteOptions> tag, there isn't there.
close IDE and check one more, xml is flashed or write while IDE closing but
just visible item infos, so next open IDE can't see, more then 3 for
standard tab
<Page1 Value="Standard">
<Components Count="3">
Do you mean the configuration file is written even you did not change
anything in configuration GUI.
That sounds impossible.
Do you perhaps have a mixed or corrupted source repository?
Please do:
$ svn up
$ svn diff
What does it say? If there are differences, please do:
$ svn revert -R .
to get a clean source repo. Also do a clean build of Lazarus in any case.

Juha

--
FreeMan
2014-12-01 10:30:28 UTC
Permalink
Post by Juha Manninen
Do you perhaps have a mixed or corrupted source repository?
I did much better, I remove all lazarus files and redownload and remake
(this killing my ssds lifes)
Post by Juha Manninen
FreeMan, did you get the paletti working? I am curious about what
causes the problems.
There was an issue where the reporter got a filtered palette even when
he did not select a DataModule.
I'm Turk and live in Turkiye, I think we are different timezone, and I
have to do different things as well. if I'm not curious, I didn't write
all detail while testing.

Tested in lazarus r47043 :
-Minimize and restore not changed palette. Can be old and trash codes.
-In my project, has 2 TDatamodule, I can see onidle is work and refresh
palette. Minimize and restore IDE not change palette, I mean work normal.

-My determination:
-Palette Redesign for TDatamodule and TForm, this is okey. This
triggering _JUST_ focused form, not Editor file, not mouseonmove (work
normal I mean) if change code editor tab, palette not change, when click
F12 for form view or click to form (Tdatamodules or tform) palette work
normal.
My determination bug:
1-when palette resetting, selected tab being "standard", my idea this
is not good, no need to change selected tab.
2- exp: on TDamodule, "Data Control" tab has no component icon, son
this tab can be hide.(suggestion)
3-TDatamodule is Active, "Standard" tab is selected and "*3*"
component showing, this is normal for TDatamodule.
NO <ComponentPaletteOptions> tag "environmentoptions.xml"
Open IDE Option and click Ok just.
Chekc "environmentoptions.xml". NO
<ComponentPaletteOptions> tag
Close IDE.
Chekc "environmentoptions.xml". and see

*<ComponentPaletteOptions>**
**<ComponentPages Count="21">**
**<Page1 Value="Standard">**
**<Components Count="3">* <---- _why three? _
....*
**</Page3>**
*
* <Page4 Value="Data Controls"/> <------ *_where is component's
info ???__
_
* <Page5 Value="Misc">**
** <Components Count="6">*
Post by Juha Manninen
the GUI is clever.
Sorry GUI not clever :) its a just code, But coderS are clever ;)
Post by Juha Manninen
Do you mean the configuration file is written even you did not change
anything in configuration GUI.
exactly _*YES*_. I tested this more then five. I wrote before, while
writing, just visible components infos writing, and why IDE closing do
this? can options changed flag name or control problem?
Post by Juha Manninen
"Restore defaults" is disabled because there are no changes compared
to defaults. See, the GUI is clever.:)
Post by FreeMan
here we go, Make a Minimize and restore IDE, components gone, Open IDE
options and component palette options, "restore default" buton is still
disable. don't change anythink click ok. If check in
"environmentoptions.xml" <ComponentPaletteOptions> tag, there isn't there.
close IDE and check one more, xml is flashed or write while IDE closing but
just visible item infos, so next open IDE can't see, more then 3 for
standard tab
<Page1 Value="Standard">
<Components Count="3">
Do you mean the configuration file is written even you did not change
anything in configuration GUI.
That sounds impossible.
Do you perhaps have a mixed or corrupted source repository?
$ svn up
$ svn diff
$ svn revert -R .
to get a clean source repo. Also do a clean build of Lazarus in any case.
Juha Manninen
2014-12-01 22:20:43 UTC
Permalink
1-when palette resetting, selected tab being "standard", my idea this is
not good, no need to change selected tab.
2- exp: on TDamodule, "Data Control" tab has no component icon, son this
tab can be hide.(suggestion)
Yes, these will be fixed. When I optimize the code and recycle already
created pages, the selected page will be restored, too.
3-TDatamodule is Active, "Standard" tab is selected and "3" component
showing, this is normal for TDatamodule.
NO <ComponentPaletteOptions> tag "environmentoptions.xml"
Open IDE Option and click Ok just.
Chekc "environmentoptions.xml". NO <ComponentPaletteOptions> tag
Close IDE.
Chekc "environmentoptions.xml". and see
[...]
Yes you are right. The options GUI interprets the filtered palette as
user changes and saves it.
Now I added a "band-aid" fix so that nothing is saved if user does not
actually touch the configuration.
<Components Count="3"> <---- why three?
Because there are 3 components in the Standard page when filtered by DataModule.
<Page4 Value="Data Controls"/> <------ where is component's info ???
Data Controls page is empty as you noticed. No components.
Sorry GUI not clever :) its a just code, But coderS are clever ;)
Yes, I meant I am clever because I made the GUI. :)
No, just kidding. If I was clever, this feature would work already
since a long time but it still does not.
exactly YES. I tested this more then five. I wrote before, while writing,
just visible components infos writing, and why IDE closing do this? can
options changed flag name or control problem?
When you click OK in the options dialog, the settings are stored into
memory variables. They are saved to disk when the IDE closes.
I understand now what is going on and I will fix it, although it may
take a week. This feature required more work than I anticipated and I
have other duties, too.

Juha

--
Juha Manninen
2014-12-03 19:53:39 UTC
Permalink
Please test with the latest changes. Notice my other post about a
Windows specific problem.

Changing the configuration when component filtering (eg. by
DataModule) is active is not very useful but now it works in a
consistent manner.
First, the configuration is not saved by accident, the user really
must change something.
Then, the filtered visible set of components is taken as a base
"original" set. It means only those compoents are available when
configuring the order. The other components will be left out from the
modified pages also after filtering goes off.
This is a generic way, the filtering can be used for other things in
future. DataModule is not the only thing doing it.
Thus, when the filtering is active and the user decides to change
palette configuration, I assume he knows what he is doing.

Regards,
Juha

--
FreeMan
2014-12-04 09:22:43 UTC
Permalink
Another issue Juha, sorry.
While closing project, if select form is Tdatamodule, form focused or
not focused, Just selected Editor file is Tdatamodule, IDE save this
project info, this is normal, but when reopen project, component palette
showing filtered, and not change if select TForm, always filtered.
If close selected form is tform then reopen project, filter is normal.


--

Juha Manninen
2014-12-01 09:07:17 UTC
Permalink
FreeMan, did you get the paletti working? I am curious about what causes
the problems.
There was an issue where the reporter got a filtered palette even when he
did not select a DataModule.
http://bugs.freepascal.org/view.php?id=25224

Nobody could reproduce and it was resolved.
That was before my palette configuration changes. It is possible there is
another problem unrelated to my changes.

Juha
Continue reading on narkive:
Search results for '[Lazarus] Component palette reordering' (Questions and Answers)
14
replies
Creating a "Why we should switch to Mac" Speech. Help Please?
started 2007-10-26 15:44:14 UTC
desktops
Loading...