Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign

Was the width of top view saved in CC configure file?

<< < (3/7) > >>

Jenna:
I just found out why it works for some users and not for others.

It works for me, if the symbols browser is displayed as free-floating window, but does not work, if it is docked into the management pane.

I will look into it.

Folco:
On my XP 32bits SP3, I get the correct behavior... (svn build 6080)

Jenna:
@ all with this problem:

could you please test the following patch ?


--- Code: ------ tmp/tmprRirMh-meld/classbrowser.cpp
+++ home/jens/codeblocks-build/codeblocks.trunk/src/plugins/codecompletion/classbrowser.cpp
@@ -122,6 +122,7 @@
     XRCCTRL(*this, "cmbView", wxChoice)->SetSelection(filter);
 
     int pos = cfg->ReadInt(_T("/splitter_pos"), 250);
+    XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetMinSize(wxSize(-1, 200));
     XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetSashPosition(pos, false);
 
     // if the classbrowser is put under the control of a wxFlatNotebook,

--- End code ---

The cause for the issue is, that wxWidgets checks if the requested sash position fits inside the windows actual or min-size.

Normally the min-size of the splitter window is the default min size (-1,-1) and the actual size is very small (If I remeber correctly it'S 20 or something like this).

That only happens for the symbols-browser if it is docked inside the management pane, not if it is free-floating.

For me it was enough to set min-height to 200, even if the requested sash-position is greater than 200.
If the min-height is to large, the sash might get hidden, if the management pane is resized.

EDIT:

Until now only tested on linux (debian 64-bit), windows tests will follow.

ollydbg:

--- Quote from: jens on January 18, 2010, 07:24:51 am ---@ all with this problem:

could you please test the following patch ?


--- Code: ------ tmp/tmprRirMh-meld/classbrowser.cpp
+++ home/jens/codeblocks-build/codeblocks.trunk/src/plugins/codecompletion/classbrowser.cpp
@@ -122,6 +122,7 @@
     XRCCTRL(*this, "cmbView", wxChoice)->SetSelection(filter);
 
     int pos = cfg->ReadInt(_T("/splitter_pos"), 250);
+    XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetMinSize(wxSize(-1, 200));
     XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetSashPosition(pos, false);
 
     // if the classbrowser is put under the control of a wxFlatNotebook,

--- End code ---

The cause for the issue is, that wxWidgets checks if the requested sash position fits inside the windows actual or min-size.

Normally the min-size of the splitter window is the default min size (-1,-1) and the actual size is very small (If I remeber correctly it'S 20 or something like this).

That only happens for the symbols-browser if it is docked inside the management pane, not if it is free-floating.

For me it was enough to set min-height to 200, even if the requested sash-position is greater than 200.
If the min-height is to large, the sash might get hidden, if the management pane is resized.

EDIT:

Until now only tested on linux (debian 64-bit), windows tests will follow.

--- End quote ---
Tested, but it still didn't work in WinXP. :(

Loaden:

--- Quote from: ollydbg on January 18, 2010, 08:10:44 am ---
--- Quote from: jens on January 18, 2010, 07:24:51 am ---@ all with this problem:

could you please test the following patch ?


--- Code: ------ tmp/tmprRirMh-meld/classbrowser.cpp
+++ home/jens/codeblocks-build/codeblocks.trunk/src/plugins/codecompletion/classbrowser.cpp
@@ -122,6 +122,7 @@
     XRCCTRL(*this, "cmbView", wxChoice)->SetSelection(filter);
 
     int pos = cfg->ReadInt(_T("/splitter_pos"), 250);
+    XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetMinSize(wxSize(-1, 200));
     XRCCTRL(*this, "splitterWin", wxSplitterWindow)->SetSashPosition(pos, false);
 
     // if the classbrowser is put under the control of a wxFlatNotebook,

--- End code ---

The cause for the issue is, that wxWidgets checks if the requested sash position fits inside the windows actual or min-size.

Normally the min-size of the splitter window is the default min size (-1,-1) and the actual size is very small (If I remeber correctly it'S 20 or something like this).

That only happens for the symbols-browser if it is docked inside the management pane, not if it is free-floating.

For me it was enough to set min-height to 200, even if the requested sash-position is greater than 200.
If the min-height is to large, the sash might get hidden, if the management pane is resized.

EDIT:

Until now only tested on linux (debian 64-bit), windows tests will follow.

--- End quote ---
Tested, but it still didn't work in WinXP. :(

--- End quote ---
confirm this.
I open "default.conf", and can not find a key named "splitterWin".

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version