|
|
Home » U++ Library support » U++ Widgets - General questions or Mixed problems » DockCtrl (A dockable window widget for U++)
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14354 is a reply to message #14352] |
Sat, 23 February 2008 14:22   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Quote: |
I tried to compile SVN rev157 under FreeBSD and fixed some minor errors, but I got stuck with a missing call to MoveEnd():
/home/masu/upp_uvs/bazaar/DockCtrl/DockWindow.cpp: In member function 'virtual void DockWindow::EventPr
oc(Upp::Ctrl::XWindow&, XEvent*)':
/home/masu/upp_uvs/bazaar/DockCtrl/DockWindow.cpp:184: error: 'MoveEnd' was not declared in this scope
DockableCtrl.cpp
/home/masu/upp_uvs/bazaar/DockCtrl/DockableCtrl.cpp: In member function 'void DockableCtrl::StartWindow
Drag()':
/home/masu/upp_uvs/bazaar/DockCtrl/DockableCtrl.cpp:263: error: 'p' was not declared in this scope
I could not find this function inside project sources, but there is one in James' Docking package. Did you forget this one?
|
Ooops
I forgot to adjust the code(MoveEnd() should be removed).
Ok, I've updated the SVN. But there are two issues you need to know about the current SVN version.
1. The code is not tested. For, the computer I have installed the Ubuntu distro was broken. I'll get my hands on it this week. So I need some feedback about the DnD behaviour. I would be grateful if you could give me some feedbacks about the DockCtrl X11 behaviour.
2. Tab transparency effect has a strange bug which causes a tab window in a PaneFrame with more than one childs to draw improperly(I'm trying to find the reason of this strange behaviour).
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Sat, 23 February 2008 14:32] Report message to a moderator
|
|
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14368 is a reply to message #14364] |
Sun, 24 February 2008 01:18   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Ok, Masu I've patched the files. Also, I've re-installed that ever-complaining cr... compiler (MingW 5.1.3) again. It seems that the crash was due to a typecasting bug in AlphaHighlight() function.
static Image AlphaHighlight(const Image &img, int alpha)
{
ImageDraw draw(img.GetSize());
draw.Alpha().DrawRect(img.GetSize(), Color(alpha, alpha, alpha));
draw.DrawImage(0, 0, img);
// MingW (5.1.3) fix - Damn, I hate that ever-complaining compiler.
Image dimg = draw;
// Is there a better way to set hotspots than this?
ImageBuffer ib(dimg);
ib.SetHotSpot(Point(1, 1));
ib.Set2ndSpot(Point(3, 3));
return ib;
}
Mrjt, you should check this out too.
Regards.
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Sun, 24 February 2008 01:19] Report message to a moderator
|
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14378 is a reply to message #14376] |
Sun, 24 February 2008 16:11   |
masu
Messages: 378 Registered: February 2006
|
Senior Member |
|
|
Ok, I have found the problem.
In DockCtrl.h change line 634 from
DragBar() : _parent(0), _titlesize(0) { SetFrame(FieldFrame()); }
to
DragBar() : _parent(0), _titlesize(0,0) { SetFrame(FieldFrame()); }
Size constructor parameter initialization was wrong and therefore RichValue conversion to Size_ failed.
So, now I can start application, but when trying to drag first frame, it is only detached and not movable until I release the mouse button. After that action the GUI is not refreshed anymore.
Also the auto hide feature does not work, i.e. when I move the mouse cursor over Dock 6 it is highlighted, but the window does not appear.
What however works is Tab position dragging.
Matthias
[Updated on: Sun, 24 February 2008 16:36] Report message to a moderator
|
|
|
|
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14419 is a reply to message #14418] |
Tue, 26 February 2008 02:14   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Quote: |
Please, sorry for my English (just learning). Screenshot below illustrates how I want to setup widget areas. But whatever I do, DockCtrl overrides content or/and sets it into the center of the window.
Please, help with a little code-snippet or a little bit modified DockCtrlExample or tell me in what direction I have to dig.
Thank you,
Anton.
|
Yes, that's because I didn't add a barctrl check mechanism to the DockCtrl (it's on my todo list). Nevertheless, the solution to your problem is very easy, just add any barctrl (menu, toolbar) to the main window you use BEFORE Add()ing DockCtrl.
I've added the DockCtrlExample below, take a look at the lines 26-29 in main.cpp. I hope it'll help you.
And please keep in mind that DockCtrl in not in production state. It still has a long way to go (But Hopefully, it'll be mature enough at the end of March). 
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Tue, 26 February 2008 02:16] Report message to a moderator
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14421 is a reply to message #14419] |
Tue, 26 February 2008 06:58   |
Sc0rch
Messages: 99 Registered: February 2008 Location: Russia, Rubtsovsk
|
Member |

|
|
Oblivion |
Yes, that's because I didn't add a barctrl check mechanism to the DockCtrl (it's on my todo list).
|
Yes, of course, I understand, the screenshot was just an illustration of idea.
Oblivion |
Nevertheless, the solution to your problem is very easy... I hope it'll help you.
|
I'm using Upp just a month and I've completely forgot about AddFrame-methods. Menubar's behaviour (as popup-menu) looks confusing me, but I'll read a appropriate threads. Thank you.
Oblivion |
And please keep in mind that DockCtrl in not in production state. It still has a long way to go (But Hopefully, it'll be mature enough at the end of March). 
|
Of course, it still has a way to go. But current state of DockCtrl development also very usefull. I'm looking for use it in my projects.
Here the latest t-file from SVN-repository, completely translated to Russian, and more correct layout-file. I hope that it can be usefull for you.
Anton
-
Attachment: DockCtrl.t
(Size: 8.79KB, Downloaded 370 times)
-
Attachment: DockCtrl.lay
(Size: 1.42KB, Downloaded 333 times)
|
|
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14478 is a reply to message #14329] |
Wed, 27 February 2008 10:13   |
|
Quote: | Well, we are "unofficially" cooperating already (at least, I'm using some part of Mrjt's code. E.g. I took the Autohidebar animation control, X11 support (by the way, I've implemented mrjt's X11 support but have no time to test it due to some technical reasons. I Will upload it tonight to the SVN) alpha blending from him. (I've implemented this too, I took severeal lines of code ) And I'm very thankful to him.
|
I can see that That's really great!
Quote: |
But there is one big problem with our docking frameworks: they are, totally (or, let's say mostly) different. We use different techniques to handle the docks. They look similar, but not act so. So, IMHO, it would be painful to "merge" them. Yet we still can and already cooperate (As I said before, he helps me most of the time).
|
That's a pity but I must check what the differences really are. The point is API can be different but as long as everything mrjt want can be done in our API there is no reason to develop his own docking system. It's better to extened the existing one.
On the second hand if that's ok for mrjt that we use his code to improve our system let's stay with current develop model.
Quote: |
My TabBar Paint routine not based on the current QuickTabs Paint code, as I wrote it before you added support for different alignments. Mine works by pre-caching all the rotated/mirrored style elements so that you don't have to do image copying and rotation in the Paint routine. On the other-hand the code is more complex.
|
Yes, I'm gonna do the same, but later. For now I just want tabs to paint and behave corretly.
|
|
|
|
Re: DockCtrl (A dockable window widget for U++) [message #14492 is a reply to message #14478] |
Wed, 27 February 2008 12:57   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Quote: |
That's a pity but I must check what the differences really are. The point is API can be different but as long as everything mrjt want can be done in our API there is no reason to develop his own docking system. It's better to extened the existing one.
On the second hand if that's ok for mrjt that we use his code to improve our system let's stay with current develop model.
|
Well, there is no problem, except for the "complex docking". Of course I can add that feature to the DockCtrl too, but it will 1) bloat the code, 2) make my life harder , and frankly I'm not sure that it is a must, for we already have some different features like nested tabbing, nested autodocking and even a nested dockable framework. As to the other features, we already have most of them. If he permits, we sure can use James' tab code (that highligted tabs are really cool) and other new ideas he could give us. He could also make changes on the current DockCtrl SVN (James, if you have time, you are permitted "officially" to make any changes you see necessary.)
I can make "complex docking" an option, but probably in the next major version. Because, I need to change the internals without effecting the user API (and I don't wan't to make the current code instable).
By the way, does anyone have any idea about this issue:
http://www.ultimatepp.org/forum/index.php?t=msg&th=3220& amp;start=0&
Regards.
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
|
|
|
Goto Forum:
Current Time: Sun May 11 14:53:36 CEST 2025
Total time taken to generate the page: 0.00638 seconds
|
|
|