Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
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 #13567 is a reply to message #11482] Tue, 15 January 2008 02:03 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
At last, here we are again Smile

I know It's been a long while since I last updated the DockCtrl. I was toooo busy. DockCtrl is under heavy development in the background. But I feel obliged to post something just to show that the project is not stopped. Since I am now free to focus on this project, I will update it regularly (weekly) again.

I've just uploaded a "preview" of ver 0.50 (this will be the last version with all the dottes, and numbers. I am going to syncronise it with the Upp versioning system).

From now on, dockctrl will have a sophisticated tabbing mechanism. Thanx to Unodgs for "QuickTabs" . I modified it and used it in dockctrl (From now on, it is also a generic TabCtrl interface called TabInterface -- which can be used and customised in any project. So, maybe I will upload this new "widget" seperately after I polish it. The results are good, I think.

- This preview has the tabs only under tabdocks. The final version of 0.50 will have tabs on left/right sides too (its in progress).

- Also, some sort of "recursive tabbing" is introduced. What I mean is, tabbed docks can be tabbed as groups under other tabdocks (It looks like "cascaded" tabs) and this can be done by drag-n-drop with mouse (they can also be dragged as groups). I think this can save a lot of space in Photoshop-like big application. Smile
Since it uses a modification of QuickTabs, it has the "scroll" ability too. You can scroll tabs (with scroll bar or with middle mouse button), when they are not visible, as it is in theIDE.
Try and see it...

- Every tab can have icons (one for custom icon, and one for close icon) and has a a traditional dockctrl command menu which can be invoked by right clicking on tab. And, "left dragging" will tear the tab.

Please keep in mind that this is only a "preview" version. I know there are hell lot of bugs and somethings are broken (e.g. ResetLayout() and autosizing() are broken needs reworking)

Also, the source code is very messy, and scattered at the moment, and will go under heavy restructuring.So I decided not to commit to SVN repository until I clean the mess. Smile

Bug reports, suggestions, constructive criticisms are always welcome.


- No complete X11 support yet.
- No AutoHide.

Ps: as always is, you can find the example preview exe is in the first post of this topic.


Regards.


[Updated on: Tue, 15 January 2008 02:10]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #13573 is a reply to message #13567] Tue, 15 January 2008 08:59 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

Quote:

Since it uses a modification of QuickTabs, it has the "scroll" ability too. You can scroll tabs (with scroll bar or with middle mouse button), when they are not visible, as it is in theIDE.
Try and see it..

I started to work on quicktabs some time ago. They would support every paint direction (so you could paint tabs of hidden panels) and autohide of srcollbar. I'll integrate it (with your support of course) with your code.
I'll try to finish it very soon. I was (still am actually..) very busy with my comercial project and that's why I was unable to do it earlier.
Thanks for new release.

[Updated on: Tue, 15 January 2008 09:00]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #13575 is a reply to message #13567] Tue, 15 January 2008 09:40 Go to previous messageGo to next message
forlano is currently offline  forlano
Messages: 1185
Registered: March 2006
Location: Italy
Senior Contributor
Oblivion wrote on Tue, 15 January 2008 02:03


Bug reports, suggestions, constructive criticisms are always welcome.



I tried the executable and I found the ctrl excellent. The photoshop like tabs work very nice. I would like to use this features as soon as possible.

Luigi
Re: DockCtrl (A dockable window widget for U++) [message #13582 is a reply to message #13573] Tue, 15 January 2008 14:34 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
unodgs wrote on Tue, 15 January 2008 07:59

I started to work on quicktabs some time ago. They would support every paint direction (so you could paint tabs of hidden panels) and autohide of srcollbar.

Please finish this! I thought you'd givien up so I have a version that is almost complete (I'm having some problems with the close buttons when left aligned) but I expect yours will be much cleaner. At the moment I'm still stuck with the ugly old style QuickTabs Sad

I've also updated my version of the Docking stuff, but I thought I'd post in Bazaar and let Oblivion have his thread back Smile

Ps. Nice idea with the nested tabs.

[Updated on: Tue, 15 January 2008 15:00]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #13590 is a reply to message #13582] Tue, 15 January 2008 20:58 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

Don't worry. I'll finish it. It's better to have one tab system. Of course I'll take a look at your and Oblivion's code to see what you need and how you use your current solutions.
Re: DockCtrl (A dockable window widget for U++) [message #14169 is a reply to message #11482] Sun, 17 February 2008 05:00 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi, finally I have updated the DockCtrl to ver 0.50. Now DockCtrl has all the basic functionality for Win32 platform.

Also, from now on, I syncronize the releases with monthly U++ releases, so it is actually DEV802b.1. Namely, it is in Beta stage Smile So, I am officially supporting the ctrl now and in the future.

This is a major update. You can find the details of the update and the example win32 exe in the first post of this topic. Also, I finally updated the SVN and added the self-explanatory source code of the example exe.


From this version on, DockCtrl has full AutoHide and Tabbing support. The "nested tabbing" is made optional and can be switched on, on-the-fly. Also, tabs has "automatic alignment" feature. by default tabs are bottom-aligned. But this can be changed on-the-fly by the user. In automatic alignment mode, Every tabwindow has it's tabs on the opposite side of it's alignment (e.g, LEFT/right, TOP/bottom and vice versa)

Chameleon (skins) method was broken, now fixed. Also, DockCtrl now has a unified chameleon structure for easy customizing (not complete yet).

I am planning to add internationalization support and (actually, it does have support; all I have to do is to add a *.t file -- I'm a bit lazy nowadays Embarassed ) write documentation, add X11 support.
============================================================ ===
The Easter EGG:
One of the most interesting "feature" of DockCtrl is that now it is Ctrl dependent, therefore it can be "nested". This means, theoretically, you could have infinite number of independent dockctrl framework (yes, not only dockable windows, but also the framework itself Wink in a single application window! Namely, even DockCtrl could be "nested" too! For example, you could even have child DockCtrl frameworks in Dock widgets(!) or other standard U++ or CtrlFrame derived classed! I will write an example code to demonstrate this "feature" (All you have to do is to pass the target Ctrl reference to SetLayout() method. Thats all.
Cool
============================================================ ===


As always is, there should be some bugs (I didn't encounter any yet). I need feedback, so please feel free to report bugs you encounter while playing with the exe. I'm also going rename some classes and methods (I know they are not well named).

Also, code needs refactoring.

Regards.




[Updated on: Sun, 17 February 2008 15:08]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #14176 is a reply to message #14169] Mon, 18 February 2008 03:22 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Quote:


I am planning to add internationalization support and (actually, it does have support; all I have to do is to add a *.t file -- I'm a bit lazy nowadays Embarassed )



Well, It's time to rise and shine. I have added the *.t translation file to the SVN tree too. Smile

From now on, DockCtrl has internationalization support. At the moment, only English and Turkish.

I need help for translations (there are only 15-20 lines to translate, so it shouldn't be time consuming)...

Here I upload the translation file. Any help will be appreciated.
Thank you.


Regards
  • Attachment: DockCtrl.t
    (Size: 6.86KB, Downloaded 247 times)


Re: DockCtrl (A dockable window widget for U++) [message #14206 is a reply to message #11482] Wed, 20 February 2008 01:48 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
I've updated the DockCtrl SVN package to version DEV-802b.2 (0.51) and the Example exe code (example exe is localized. But unfortuantely, at this point only Turkish and English languages are fully supported.I'm also going to add French, if someone doen't -- but I prefer a native French speaker Smile ). Also, I've added changelog and todo list to the source. As usual, you can find the changelog and new Example exe on the first post of this topic. It has all the main features enabled. Still, you may encounter some problems with the "nested tabbing", It now has the top priority on my todo list and I'm still working on it. Also I need some feedback.



Regards.


[Updated on: Wed, 20 February 2008 01:50]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #14219 is a reply to message #14206] Wed, 20 February 2008 13:23 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
Hi,

the attached archive contains modified DockCtrl package fixing some issues with MingW 3.4.2 under WinXP (mostly call-by-reference issues) and also providing german translations.

Matthias
  • Attachment: DockCtrl.zip
    (Size: 34.69KB, Downloaded 254 times)
Re: DockCtrl (A dockable window widget for U++) [message #14221 is a reply to message #14219] Wed, 20 February 2008 13:42 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Quote:


Hi,

the attached archive contains modified DockCtrl package fixing some issues with MingW 3.4.2 under WinXP (mostly call-by-reference issues) and also providing german translations.

Matthias



Smile Thank you very much. I will add the changes to the current package immediately.


Re: DockCtrl (A dockable window widget for U++) [message #14226 is a reply to message #14221] Wed, 20 February 2008 14:37 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

I have fixed (I think so) all tabs painting issues as well as detecting close button position. Fixes are already in svn.
Re: DockCtrl (A dockable window widget for U++) [message #14229 is a reply to message #14226] Wed, 20 February 2008 14:56 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Quote:


I have fixed (I think so) all tabs painting issues as well as detecting close button position. Fixes are already in svn.



Thanks Daniel. I will merge it with the current version.


Re: DockCtrl (A dockable window widget for U++) [message #14231 is a reply to message #14229] Wed, 20 February 2008 15:06 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
There is a template parameter missing in QuickTabs.cpp line 87:
FrameCtrl::FramePaint(w, r);

should be:
FrameCtrl<Ctrl>::FramePaint(w, r);


Matthias
Re: DockCtrl (A dockable window widget for U++) [message #14232 is a reply to message #14231] Wed, 20 February 2008 15:08 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

Thanks!. That's because I mostly use MSVC.
Re: DockCtrl (A dockable window widget for U++) [message #14233 is a reply to message #14226] Wed, 20 February 2008 16:25 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Quote:


I have fixed (I think so) all tabs painting issues as well as detecting close button position. Fixes are already in svn.



I've applied the patches and added the German translations to the source. By the way, Daniel could you please update the changelog when you fix or add stg. It's easy to track the changes/fixes there. Smile

Also, if you have spare time (It won't take more than 10 minutes) could you please add Polish translation to the source (AFAIK you're Polish)? I Would be grateful.


Re: DockCtrl (A dockable window widget for U++) [message #14235 is a reply to message #14233] Wed, 20 February 2008 19:00 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

Oblivion wrote on Wed, 20 February 2008 10:25


I've applied the patches and added the German translations to the source. By the way, Daniel could you please update the changelog when you fix or add stg. It's easy to track the changes/fixes there. Smile


Naturaly, no problem. I love writing changelogs myself too Wink
Quote:


Also, if you have spare time (It won't take more than 10 minutes) could you please add Polish translation to the source (AFAIK you're Polish)? I Would be grateful.

Sure.
Re: DockCtrl (A dockable window widget for U++) [message #14254 is a reply to message #11482] Thu, 21 February 2008 02:19 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Finally I find a way to draw dragbar skins with native/system chameleon values. From now on DockCtrl's skins adapt themselves to the System's visual styles. And I've updated both SVN and the example exe in the first topic with some cool visual samples.

Cool


Re: DockCtrl (A dockable window widget for U++) [message #14260 is a reply to message #14254] Thu, 21 February 2008 10:05 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Oblivion wrote on Thu, 21 February 2008 03:19

Finally I find a way to draw dragbar skins with native/system chameleon values. From now on DockCtrl's skins adapt themselves to the System's visual styles. And I've updated both SVN and the example exe in the first topic with some cool visual samples.

Cool

This is getting better and better. A couple of more such minor improvements and I"ll give it a try in some production code, to see how it behaves in the long run.

There's one small issue, I don't know if you noticed yet. Mark a panel as autohide and move your mouse over the border tab so that the panel appears with animation. All goo up to here. But if you quickly move the whole window, the poped-up panel remains in place until it disappears.
Re: DockCtrl (A dockable window widget for U++) [message #14263 is a reply to message #14260] Thu, 21 February 2008 10:35 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Quote:



There's one small issue, I don't know if you noticed yet. Mark a panel as autohide and move your mouse over the border tab so that the panel appears with animation. All goo up to here. But if you quickly move the whole window, the poped-up panel remains in place until it disappears.



No I didn't noticed that. Thank you. I will fix it asap.

Quote:


This is getting better and better. A couple of more such minor improvements and I"ll give it a try in some production code, to see how it behaves in the long run.




Well, as a matter of fact, I 'm currentyl using DockCtrtl in TheIDE. Smile And apart from some small bugs in normal mode (no nested tabbing - it still needs to be refined), it seems to work fine. But again, DockCtrl is still under heavy development. It seems that the famous "chicken-egg" problem is a traditional situation of the U++ apps Very Happy



[Updated on: Thu, 21 February 2008 10:39]

Report message to a moderator

Re: DockCtrl (A dockable window widget for U++) [message #14267 is a reply to message #14263] Thu, 21 February 2008 12:15 Go to previous messageGo to previous message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

And window drag and drop should not work if I start dragging the tab. The tab itself should be drageed instead in this particular case. If this and window animation (this could be stolen from mrjt Wink )will be done it's all, right? How about linux?
Previous Topic: TheIDE bug in layout designer?
Next Topic: Linux RectTracker problem
Goto Forum:
  


Current Time: Mon Apr 29 11:00:14 CEST 2024

Total time taken to generate the page: 0.03842 seconds