|
|
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 #14321 is a reply to message #14298] |
Fri, 22 February 2008 14:33   |
mrjt
Messages: 705 Registered: March 2007 Location: London
|
Contributor |
|
|
Quote: | PS: I also noticed a cool thing about qt. If dragged window is to be tabbed the destination place is not only light blue (like in our docking engine) but this blue area is also transparent so you can see previous tab content. I like it.
|
I had also been thinking about this, but I've only just worked out how to do it (my internal structure has now got to a point where I modify stuff quite easily. Thank FSM). See attached for an example. I'm going to improve the tab behaviour I think, but that requires more changes that I'm not quite ready to make. Looks nice though 
Oblivion: The trick is to overload Ctrl::PostPaint in you container class (TabWindow?) and then Draw something transparent over the whole View area. I'm using the following code to generate my highlight images:
Image StandardHighlight(Color inside, Color border)
{
Size sz(5, 5);
ImageBuffer ib(sz);
RGBA *q = ~ib;
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
*(q++) = (i == 4 || j == 4 || !i || !j) ? border : inside;
ib.SetHotSpot(Point(1, 1));
ib.Set2ndSpot(Point(3, 3));
return ib;
}
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);
// Is there a better way to set hotspots than this?
ImageBuffer ib((Image)draw);
ib.SetHotSpot(Point(1, 1));
ib.Set2ndSpot(Point(3, 3));
return ib;
}
CH_STYLE(DockWindow, Style, StyleDefault)
{
Image img = StandardHighlight(Blend(SColorHighlight, SColorPaper, 90), SColorHighlight);
stdhighlight = img;
tabhighlight = AlphaHighlight(img, 160);
}
unodgs wrote on Thu, 21 February 2008 20:04 |
Ctrl is not bad. Although in QuickTabs I used Ctrl to scroll tabs. I still think it's better (as option or as default) to follow eclipse solution. If you start draging the tab you drag the tab until mouse left tabs area.
|
I've just tried this and I don't think it possible with the current Upp Drag/Drop implementation. To make it work you need to call PasteClip::Reject from DragLeave. You have to do a nasty bodge just to get the PasteClip object to begin with, and calling Reject doesn't seem to release the mouse, so it's not possible to start dragging the window. The alternative is to not use DnD for tab dragging, but I'd much rather have a 'correct' solution.
Having tried it I agree that this is how it should work though, so I'll keep trying.
unodgs wrote on Thu, 21 February 2008 20:04 |
It looks quite nice, but the main idea behind grouping was to reduce the scrollbar.. and make switching between tabs more comfortable.
|
The grayed-out tabs are not included in the scroll limit. It works exactly the same as before except that you can see that there are non-active tabs.
I'm also trying out a new drag highlight:

I think it's an improvement, what do you think?
Incidentally, all these features (grouping, scrollbar/tabbar autohide, etc.) are in my general TabBar class, based around standard Upp Value/Display architecture. QuickTabs is just a specialized bas class of this TabBar. It seems a shame to waste it on one project, should I release it to the SVN Bazaar?
-
Attachment: tabs.png
(Size: 9.64KB, Downloaded 856 times)
-
Attachment: DockTest.zip
(Size: 568.33KB, Downloaded 302 times)
[Updated on: Fri, 22 February 2008 14:38] Report message to a moderator
|
|
|
 |
|
DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 15 September 2007 16:48
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Sat, 15 September 2007 16:58
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mezise on Sat, 15 September 2007 17:39
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 15 September 2007 18:25
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Sat, 15 September 2007 18:48
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 18 September 2007 14:01
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Tue, 18 September 2007 14:31
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Tue, 18 September 2007 20:35
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Tue, 18 September 2007 20:40
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 18 September 2007 21:05
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 19 September 2007 13:04
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 19 September 2007 14:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 26 September 2007 14:57
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 26 September 2007 21:49
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 26 September 2007 22:20
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Fri, 28 September 2007 12:58
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 15:18
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Fri, 28 September 2007 16:00
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 September 2007 16:49
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 18:38
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 September 2007 18:57
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 20:59
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 September 2007 21:40
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 22:09
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 September 2007 22:13
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Sat, 29 September 2007 00:15
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 29 September 2007 00:43
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Sat, 29 September 2007 01:13
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 29 September 2007 01:29
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Sat, 29 September 2007 08:42
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 29 September 2007 11:11
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 18:24
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 15:16
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 September 2007 16:59
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Fri, 28 September 2007 18:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 29 September 2007 00:09
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 07 October 2007 02:52
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Sun, 07 October 2007 09:43
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 07 October 2007 11:22
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mirek on Sun, 07 October 2007 10:26
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Sun, 07 October 2007 11:04
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 07 October 2007 11:16
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 07 October 2007 18:58
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 13 October 2007 14:13
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Sat, 13 October 2007 17:10
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Sat, 13 October 2007 17:19
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 13 October 2007 18:07
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 27 October 2007 12:01
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 07 November 2007 20:18
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 11 November 2007 00:16
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Mon, 12 November 2007 15:40
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Mon, 12 November 2007 23:12
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Tue, 13 November 2007 16:14
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 13 November 2007 21:51
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 14 November 2007 09:10
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Wed, 14 November 2007 11:46
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 14 November 2007 13:15
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Wed, 14 November 2007 16:47
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 14 November 2007 17:08
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Wed, 14 November 2007 17:54
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 15 January 2008 02:03
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Tue, 15 January 2008 08:59
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Tue, 15 January 2008 14:34
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Tue, 15 January 2008 20:58
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: forlano on Tue, 15 January 2008 09:40
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 17 February 2008 05:00
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Mon, 18 February 2008 03:22
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 20 February 2008 01:48
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Wed, 20 February 2008 13:23
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 20 February 2008 13:42
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 20 February 2008 14:37
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 20 February 2008 14:56
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Wed, 20 February 2008 15:06
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 20 February 2008 15:08
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 20 February 2008 16:25
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 20 February 2008 19:00
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 02:19
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 10:35
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Thu, 21 February 2008 12:15
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Thu, 21 February 2008 13:23
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 14:18
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Thu, 21 February 2008 13:38
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Thu, 21 February 2008 15:04
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Thu, 21 February 2008 15:43
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Thu, 21 February 2008 18:06
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Thu, 21 February 2008 19:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Thu, 21 February 2008 21:04
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Fri, 22 February 2008 14:33
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 22 February 2008 14:57
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Fri, 22 February 2008 15:20
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Fri, 22 February 2008 15:26
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 22 February 2008 15:31
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Fri, 22 February 2008 15:48
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 22 February 2008 16:14
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Wed, 27 February 2008 10:13
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Wed, 27 February 2008 10:37
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 27 February 2008 12:57
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 22 February 2008 16:23
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Fri, 22 February 2008 16:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 20:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: unodgs on Thu, 21 February 2008 20:54
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 21:31
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 21 February 2008 14:27
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 23 February 2008 03:14
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Sat, 23 February 2008 13:38
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 23 February 2008 14:22
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Sat, 23 February 2008 22:35
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 24 February 2008 00:22
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 24 February 2008 01:18
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Sun, 24 February 2008 15:34
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Sun, 24 February 2008 16:11
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sun, 24 February 2008 17:44
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Mon, 25 February 2008 10:35
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Mon, 25 February 2008 19:32
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Tue, 26 February 2008 01:05
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 26 February 2008 02:14
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Tue, 26 February 2008 06:58
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 26 February 2008 10:41
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 27 February 2008 00:41
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Wed, 27 February 2008 22:37
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Wed, 27 February 2008 23:20
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Thu, 28 February 2008 14:48
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Thu, 28 February 2008 15:00
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Fri, 29 February 2008 02:22
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 29 February 2008 07:21
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Fri, 29 February 2008 17:18
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 21 March 2008 23:24
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Sc0rch on Sat, 22 March 2008 04:41
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Sat, 22 March 2008 12:59
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: mrjt on Tue, 25 March 2008 14:07
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Tue, 25 March 2008 14:54
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 March 2008 03:15
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Fri, 28 March 2008 14:52
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 March 2008 15:39
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: masu on Fri, 28 March 2008 15:55
|
 |
|
Re: DockCtrl (A dockable window widget for U++)
By: Oblivion on Fri, 28 March 2008 16:14
|
Goto Forum:
Current Time: Sun Apr 27 10:33:36 CEST 2025
Total time taken to generate the page: 0.00835 seconds
|
|
|