summaryrefslogtreecommitdiff
path: root/libopie2/opieui/big-screen/osplitter.cpp
Unidiff
Diffstat (limited to 'libopie2/opieui/big-screen/osplitter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/big-screen/osplitter.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/libopie2/opieui/big-screen/osplitter.cpp b/libopie2/opieui/big-screen/osplitter.cpp
index bcfd3a6..f0287ed 100644
--- a/libopie2/opieui/big-screen/osplitter.cpp
+++ b/libopie2/opieui/big-screen/osplitter.cpp
@@ -1,87 +1,87 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2003 hOlgAr <zecke@handhelds.org> 3             .=l. Copyright (c) 2003 hOlgAr <zecke@handhelds.org>
4           .>+-= 4           .>+-=
5 _;:,     .>    :=|. This library is free software; you can 5 _;:,     .>    :=|. This library is free software; you can
6.> <`_,   >  .   <= redistribute it and/or modify it under 6.> <`_,   >  .   <= redistribute it and/or modify it under
7:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 7:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%`+i>       _;_. 11    .%`+i>       _;_.
12    .i_,=:_.      -<s. This library is distributed in the hope that 12    .i_,=:_.      -<s. This library is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more 17..}^=.=       =       ; Library General Public License for more
18++=   -.     .`     .: details. 18++=   -.     .`     .: details.
19 :     =  ...= . :.=- 19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU 20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = Library General Public License along with 21  -_. . .   )=.  = Library General Public License along with
22    --        :-=` this library; see the file COPYING.LIB. 22    --        :-=` this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include "osplitter.h" 29#include "osplitter.h"
30 30
31/* OPIE */ 31/* OPIE */
32#include <opie2/otabwidget.h> 32#include <opie2/otabwidget.h>
33 33
34/* QT */ 34/* QT */
35#include <qvaluelist.h> 35#include <qvaluelist.h>
36#include <qvbox.h> 36#include <qvbox.h>
37 37
38using namespace Opie::Ui; 38using namespace Opie::Ui;
39using namespace Opie::Ui::Private; 39using namespace Opie::Ui::Internal;
40 40
41/** 41/**
42 * 42 *
43 * This is the constructor of OSplitter 43 * This is the constructor of OSplitter
44 * You might want to call setSizeChange to tell 44 * You might want to call setSizeChange to tell
45 * OSplitter to change its layout when a specefic 45 * OSplitter to change its layout when a specefic
46 * mark was crossed. OSplitter sets a default value. 46 * mark was crossed. OSplitter sets a default value.
47 * 47 *
48 * You cann add widget with addWidget to the OSplitter. 48 * You cann add widget with addWidget to the OSplitter.
49 * OSplitter supports also grouping of Splitters where they 49 * OSplitter supports also grouping of Splitters where they
50 * can share one OTabBar in small screen mode. This can be used 50 * can share one OTabBar in small screen mode. This can be used
51 * for email clients like vies but see the example. 51 * for email clients like vies but see the example.
52 * 52 *
53 * @param orient The orientation wether to layout horizontal or vertical 53 * @param orient The orientation wether to layout horizontal or vertical
54 * @param parent The parent of this widget 54 * @param parent The parent of this widget
55 * @param name The name passed on to QObject 55 * @param name The name passed on to QObject
56 * @param fl Additional widgets flags passed to QWidget 56 * @param fl Additional widgets flags passed to QWidget
57 * 57 *
58 * @short single c'tor of the OSplitter 58 * @short single c'tor of the OSplitter
59 */ 59 */
60OSplitter::OSplitter( Orientation orient, QWidget* parent, const char* name, WFlags fl ) 60OSplitter::OSplitter( Orientation orient, QWidget* parent, const char* name, WFlags fl )
61 : QFrame( parent, name, fl ) 61 : QFrame( parent, name, fl )
62{ 62{
63 m_orient = orient; 63 m_orient = orient;
64 m_hbox = 0; 64 m_hbox = 0;
65 m_size_policy = 330; 65 m_size_policy = 330;
66 setFontPropagation( AllChildren ); 66 setFontPropagation( AllChildren );
67 setPalettePropagation( AllChildren ); 67 setPalettePropagation( AllChildren );
68 68
69 /* start by default with the tab widget */ 69 /* start by default with the tab widget */
70 m_tabWidget = 0; 70 m_tabWidget = 0;
71 m_parentTab = 0; 71 m_parentTab = 0;
72 changeTab(); 72 changeTab();
73 73
74} 74}
75 75
76 76
77/** 77/**
78 * Destructor destructs this object and cleans up. All child 78 * Destructor destructs this object and cleans up. All child
79 * widgets will be deleted 79 * widgets will be deleted
80 * @see addWidget 80 * @see addWidget
81 */ 81 */
82OSplitter::~OSplitter() 82OSplitter::~OSplitter()
83{ 83{
84 qWarning("Deleted Splitter"); 84 qWarning("Deleted Splitter");
85 m_splitter.setAutoDelete( true ); 85 m_splitter.setAutoDelete( true );
86 m_splitter.clear(); 86 m_splitter.clear();
87 87
@@ -352,111 +352,111 @@ QSize OSplitter::minimumSizeHint()const
352 return QFrame::minimumSizeHint(); 352 return QFrame::minimumSizeHint();
353 if (m_hbox) 353 if (m_hbox)
354 return m_hbox->sizeHint(); 354 return m_hbox->sizeHint();
355 else 355 else
356 return m_tabWidget->sizeHint(); 356 return m_tabWidget->sizeHint();
357} 357}
358#endif 358#endif
359 359
360/** 360/**
361 * @reimplemented for internal reasons 361 * @reimplemented for internal reasons
362 */ 362 */
363void OSplitter::resizeEvent( QResizeEvent* res ) 363void OSplitter::resizeEvent( QResizeEvent* res )
364{ 364{
365 QFrame::resizeEvent( res ); 365 QFrame::resizeEvent( res );
366 /* 366 /*
367 * 367 *
368 */ 368 */
369 // qWarning("Old size was width = %d height = %d", res->oldSize().width(), res->oldSize().height() ); 369 // qWarning("Old size was width = %d height = %d", res->oldSize().width(), res->oldSize().height() );
370 bool mode = true; 370 bool mode = true;
371 qWarning("New size is width = %d height = %d %s", res->size().width(), res->size().height(), name() ); 371 qWarning("New size is width = %d height = %d %s", res->size().width(), res->size().height(), name() );
372 if ( res->size().width() > m_size_policy && 372 if ( res->size().width() > m_size_policy &&
373 m_orient == Horizontal ) 373 m_orient == Horizontal )
374 { 374 {
375 changeHBox(); 375 changeHBox();
376 mode = false; 376 mode = false;
377 } 377 }
378 else if ( (res->size().width() <= m_size_policy && 378 else if ( (res->size().width() <= m_size_policy &&
379 m_orient == Horizontal ) || 379 m_orient == Horizontal ) ||
380 (res->size().height() <= m_size_policy && 380 (res->size().height() <= m_size_policy &&
381 m_orient == Vertical ) ) 381 m_orient == Vertical ) )
382 { 382 {
383 changeTab(); 383 changeTab();
384 } 384 }
385 else if ( res->size().height() > m_size_policy && 385 else if ( res->size().height() > m_size_policy &&
386 m_orient == Vertical ) 386 m_orient == Vertical )
387 { 387 {
388 qWarning("Changng to vbox %s", name() ); 388 qWarning("Changng to vbox %s", name() );
389 changeVBox(); 389 changeVBox();
390 mode = false; 390 mode = false;
391 } 391 }
392 392
393 emit sizeChanged(mode, m_orient ); 393 emit sizeChanged(mode, m_orient );
394} 394}
395 395
396/* 396/*
397 * Adds a container to a tab either the parent tab 397 * Adds a container to a tab either the parent tab
398 * or our own 398 * or our own
399 */ 399 */
400void OSplitter::addToTab( const Opie::Ui::Private::OSplitterContainer& con ) 400void OSplitter::addToTab( const Opie::Ui::Internal::OSplitterContainer& con )
401{ 401{
402 QWidget *wid = con.widget; 402 QWidget *wid = con.widget;
403 // not needed widgetstack will reparent as well wid.reparent(m_tabWidget, wid->getWFlags(), QPoint(0, 0) ); 403 // not needed widgetstack will reparent as well wid.reparent(m_tabWidget, wid->getWFlags(), QPoint(0, 0) );
404 if (m_parentTab ) 404 if (m_parentTab )
405 m_parentTab->addTab( wid, con.icon, con.name ); 405 m_parentTab->addTab( wid, con.icon, con.name );
406 else 406 else
407 m_tabWidget->addTab( wid, con.icon, con.name ); 407 m_tabWidget->addTab( wid, con.icon, con.name );
408} 408}
409 409
410 410
411/* 411/*
412 * adds a container to the box 412 * adds a container to the box
413 */ 413 */
414void OSplitter::addToBox( const Opie::Ui::Private::OSplitterContainer& con ) 414void OSplitter::addToBox( const Opie::Ui::Internal::OSplitterContainer& con )
415{ 415{
416 QWidget* wid = con.widget; 416 QWidget* wid = con.widget;
417 wid->reparent(m_hbox, 0, QPoint(0, 0) ); 417 wid->reparent(m_hbox, 0, QPoint(0, 0) );
418} 418}
419 419
420 420
421/* 421/*
422 * Removes a widget from the tab 422 * Removes a widget from the tab
423 */ 423 */
424void OSplitter::removeFromTab( QWidget* wid ) 424void OSplitter::removeFromTab( QWidget* wid )
425{ 425{
426 if (m_parentTab ) 426 if (m_parentTab )
427 m_parentTab->removePage( wid ); 427 m_parentTab->removePage( wid );
428 else 428 else
429 m_tabWidget->removePage( wid ); 429 m_tabWidget->removePage( wid );
430} 430}
431 431
432/* 432/*
433 * switches over to a OTabWidget layout 433 * switches over to a OTabWidget layout
434 * it is recursive 434 * it is recursive
435 */ 435 */
436void OSplitter::changeTab() 436void OSplitter::changeTab()
437{ 437{
438 /* if we're the owner of the tab widget */ 438 /* if we're the owner of the tab widget */
439 if (m_tabWidget ) 439 if (m_tabWidget )
440 { 440 {
441 raise(); 441 raise();
442 show(); 442 show();
443 m_tabWidget->setGeometry( frameRect() ); 443 m_tabWidget->setGeometry( frameRect() );
444 return; 444 return;
445 } 445 }
446 446
447 qWarning(" New Tab Widget %s", name() ); 447 qWarning(" New Tab Widget %s", name() );
448 /* 448 /*
449 * and add all widgets this will reparent them 449 * and add all widgets this will reparent them
450 * delete m_hbox set it to 0 450 * delete m_hbox set it to 0
451 * 451 *
452 */ 452 */
453 OTabWidget *tab; 453 OTabWidget *tab;
454 if ( m_parentTab ) 454 if ( m_parentTab )
455 { 455 {
456 hide(); 456 hide();
457 tab = m_parentTab; 457 tab = m_parentTab;
458 /* expensive but needed cause we're called from setTabWidget and resizeEvent*/ 458 /* expensive but needed cause we're called from setTabWidget and resizeEvent*/
459 if (!m_container.isEmpty() ) 459 if (!m_container.isEmpty() )
460 { 460 {
461 ContainerList::Iterator it = m_container.begin(); 461 ContainerList::Iterator it = m_container.begin();
462 for (; it != m_container.end(); ++it ) 462 for (; it != m_container.end(); ++it )