kdgantt

itemAttributeDialog.ui.h

00001 /****************************************************************************
00002  ** Copyright (C)  2002-2004 Klarälvdalens Datakonsult AB.  All rights reserved.
00003  **
00004  ** This file is part of the KDGantt library.
00005  **
00006  ** This file may be distributed and/or modified under the terms of the
00007  ** GNU General Public License version 2 as published by the Free Software
00008  ** Foundation and appearing in the file LICENSE.GPL included in the
00009  ** packaging of this file.
00010  **
00011  ** Licensees holding valid commercial KDGantt licenses may use this file in
00012  ** accordance with the KDGantt Commercial License Agreement provided with
00013  ** the Software.
00014  **
00015  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017  **
00018  ** See http://www.klaralvdalens-datakonsult.se/Public/products/ for
00019  **   information about KDGantt Commercial License Agreements.
00020  **
00021  ** Contact info@klaralvdalens-datakonsult.se if any conditions of this
00022  ** licensing are not clear to you.
00023  **
00024  ** As a special exception, permission is given to link this program
00025  ** with any edition of Qt, and distribute the resulting executable,
00026  ** without including the source code for Qt in the source distribution.
00027  **
00028  **********************************************************************/
00029 
00030 
00031 /****************************************************************************
00032 ** ui.h extension file, included from the uic-generated form implementation.
00033 **
00034 ** If you wish to add, delete or rename slots use Qt Designer which will
00035 ** update this file, preserving your code. Create an init() slot in place of
00036 ** a constructor, and a destroy() slot in place of a destructor.
00037 *****************************************************************************/
00038 
00039 #include <qcolordialog.h>
00040 void itemAttributeDialog::init( )
00041 {
00042 
00043     myItem = 0;
00044 }
00045 
00046 
00047 
00048 
00049 void itemAttributeDialog::ChangeText_clicked()
00050 {
00051     if ( !myItem) return;
00052     QColor c = QColorDialog::getColor( myItem->textColor(), this );
00053     if ( c.isValid() )
00054       myItem->setTextColor( c );
00055     QPixmap *  pix  = (QPixmap *)ChangeText->pixmap();
00056     pix->fill( myItem->textColor() );
00057     ChangeText->repaint();
00058 }
00059 
00060 
00061 void itemAttributeDialog::ChangeStart_clicked()
00062 {
00063     if ( !myItem) return;
00064     KDGanttViewItem::Shape start,  middle, end;
00065     myItem->shapes( start, middle, end );
00066     QColor st, mi, en;
00067     myItem->colors( st, mi, en );
00068     QColor c = QColorDialog::getColor( st, this );
00069     if ( c.isValid() ) {
00070     st = c;
00071     ChangeStart->setPixmap(  KDGanttView::getPixmap( start, st, backgroundColor(), 10 )  );
00072     myItem->setColors( st, mi, en );
00073     }
00074 
00075 }
00076 
00077 
00078 void itemAttributeDialog::ChangeMiddle_clicked()
00079 {
00080     if ( !myItem) return;
00081      KDGanttViewItem::Shape start,  middle, end;
00082     myItem->shapes( start, middle, end );
00083     QColor st, mi, en;
00084     myItem->colors( st, mi, en );
00085     QColor c = QColorDialog::getColor( mi, this );
00086     if ( c.isValid() ) {
00087     mi = c;
00088     ChangeMiddle->setPixmap(  KDGanttView::getPixmap( middle, mi, backgroundColor(), 10 )  );
00089     myItem->setColors( st, mi, en );
00090     }
00091 }
00092 
00093 
00094 void itemAttributeDialog::ChangeEnd_clicked()
00095 {
00096     if ( !myItem) return;
00097     KDGanttViewItem::Shape start,  middle, end;
00098     myItem->shapes( start, middle, end );
00099     QColor st, mi, en;
00100     myItem->colors( st, mi, en );
00101      QColor c = QColorDialog::getColor( en, this );
00102     if ( c.isValid() ) {
00103     en = c;
00104     ChangeEnd->setPixmap(  KDGanttView::getPixmap( end, en, backgroundColor(), 10 )  );
00105     myItem->setColors( st, mi, en );
00106     }
00107 }
00108 void itemAttributeDialog::resetTime( KDGanttViewItem * item )
00109 {
00110     if ( !item ) return;
00111     myItem = 0;
00112     DateEdit1->setDate( item->startTime().date() );
00113     TimeEdit1->setTime( item->startTime().time() );
00114     switch( item->type() ) {
00115     case KDGanttViewItem::Event:
00116 
00117     DateEdit4->setDate( ((KDGanttViewEventItem*)item)->leadTime().date() );
00118     TimeEdit4->setTime( ((KDGanttViewEventItem*)item)->leadTime().time() );
00119 
00120     break;
00121           case KDGanttViewItem::Summary:
00122 
00123 
00124       DateEdit3->setDate( item->endTime().date() );
00125       TimeEdit3->setTime( item->endTime().time() );
00126       DateEdit2->setDate(((KDGanttViewSummaryItem*)item) ->middleTime().date() );
00127       TimeEdit2->setTime( ((KDGanttViewSummaryItem*)item)->middleTime().time() );
00128       DateEdit5->setDate(((KDGanttViewSummaryItem*)item) ->actualEndTime().date() );
00129       TimeEdit5->setTime( ((KDGanttViewSummaryItem*)item)->actualEndTime().time() );
00130       break;
00131           case KDGanttViewItem::Task:
00132 
00133 
00134       DateEdit3->setDate( item->endTime().date() );
00135       TimeEdit3->setTime( item->endTime().time() );
00136       break;
00137     default:
00138       ;
00139     }
00140      myItem = item;
00141 }
00142 
00143 void itemAttributeDialog::reset( KDGanttViewItem * item )
00144 { 
00145     myItem = 0;
00146     if ( !item ) {
00147     hide();
00148     return;
00149     }
00150     StartBox->setEnabled( true );
00151     switch( item->type() ) {
00152          case KDGanttViewItem::Event:
00153      MiddleBox->setEnabled( false );
00154      EndBox->setEnabled( false );
00155      ChangeMiddle->setEnabled( false );
00156      ChangeEnd->setEnabled( false );
00157              HighMiddle->setEnabled( false );
00158      HighEnd->setEnabled( false );
00159       DateEdit2->setEnabled( false );
00160       TimeEdit2->setEnabled( false );
00161       DateEdit3->setEnabled( false );
00162       TimeEdit3->setEnabled( false );
00163       DateEdit4->setEnabled( true );
00164       TimeEdit4->setEnabled( true );
00165       DateEdit5->setEnabled( false );
00166       TimeEdit5->setEnabled( false );
00167        DateEdit4->setDate( ((KDGanttViewEventItem*)item)->leadTime().date() );
00168       TimeEdit4->setTime( ((KDGanttViewEventItem*)item)->leadTime().time() );
00169 
00170     break;
00171           case KDGanttViewItem::Summary:
00172      MiddleBox->setEnabled( true );
00173      EndBox->setEnabled( true );
00174      ChangeMiddle->setEnabled( true );
00175      ChangeEnd->setEnabled( true );
00176              HighMiddle->setEnabled( true );
00177      HighEnd->setEnabled( true );
00178 
00179       DateEdit2->setEnabled( true );
00180       TimeEdit2->setEnabled( true );
00181       DateEdit3->setEnabled( true );
00182       TimeEdit3->setEnabled( true );
00183       DateEdit4->setEnabled( false );
00184       TimeEdit4->setEnabled( false );
00185       DateEdit5->setEnabled( true );
00186       TimeEdit5->setEnabled( true );
00187 
00188       DateEdit3->setDate( item->endTime().date() );
00189       TimeEdit3->setTime( item->endTime().time() );
00190       DateEdit2->setDate(((KDGanttViewSummaryItem*)item) ->middleTime().date() );
00191       TimeEdit2->setTime( ((KDGanttViewSummaryItem*)item)->middleTime().time() );
00192       DateEdit5->setDate(((KDGanttViewSummaryItem*)item) ->actualEndTime().date() );
00193       TimeEdit5->setTime( ((KDGanttViewSummaryItem*)item)->actualEndTime().time() );
00194       break;
00195           case KDGanttViewItem::Task:
00196      MiddleBox->setEnabled( false );
00197      StartBox->setEnabled( false );
00198      EndBox->setEnabled( false );
00199      ChangeMiddle->setEnabled( false );
00200      ChangeEnd->setEnabled( false );
00201              HighMiddle->setEnabled( false );
00202      HighEnd->setEnabled( false );
00203 
00204       DateEdit2->setEnabled( false );
00205       TimeEdit2->setEnabled( false );
00206       DateEdit3->setEnabled( true );
00207       TimeEdit3->setEnabled( true );
00208       DateEdit4->setEnabled( false );
00209       TimeEdit4->setEnabled( false );
00210       DateEdit5->setEnabled( false );
00211       TimeEdit5->setEnabled( false );
00212 
00213       DateEdit3->setDate( item->endTime().date() );
00214       TimeEdit3->setTime( item->endTime().time() );
00215       break;
00216     default:
00217       ;
00218     }
00219     if (item->firstChild() && item->displaySubitemsAsGroup() ) {
00220     
00221       DateEdit2->setEnabled( false );
00222       TimeEdit2->setEnabled( false );
00223       DateEdit3->setEnabled( false );
00224       TimeEdit3->setEnabled( false );
00225       DateEdit4->setEnabled( false );
00226       TimeEdit4->setEnabled( false );
00227       DateEdit5->setEnabled( false );
00228       TimeEdit5->setEnabled( false );
00229       DateEdit1->setEnabled( false );
00230       TimeEdit1->setEnabled( false );
00231     
00232       } else {
00233       DateEdit1->setEnabled( true );
00234       TimeEdit1->setEnabled( true );    
00235       }
00236      DateEdit1->setDate( item->startTime().date() );
00237     TimeEdit1->setTime( item->startTime().time() );
00238     if ( item->pixmap() != 0 )  
00239     setIcon( *(item->pixmap()) );
00240     setCaption( "Properties of " + ((QListViewItem*)item)->text(0) );
00241     itemName->setText(((QListViewItem*)item)->text(0) );
00242 
00243 //    DateEdit1->setRange(item->startTime().date().addYears(-10), item->endTime().date() );
00244   //  DateEdit3->setRange(item->startTime().date(), item->endTime().date().addYears(10));
00245     LineEdit1->setText( item->text() );
00246     KDGanttViewItem::Shape start,  middle, end;
00247     item->shapes( start, middle, end );
00248     QColor st, mi, en;
00249     item->colors( st, mi, en );
00250     ChangeStart->setPixmap(  KDGanttView::getPixmap( start, st, backgroundColor(), 10 )  );
00251     ChangeMiddle->setPixmap(  KDGanttView::getPixmap( middle, mi, backgroundColor(), 10 )  );
00252     ChangeEnd->setPixmap(  KDGanttView::getPixmap( end, en, backgroundColor(), 10 )  );
00253     item->highlightColors( st, mi, en );
00254     HighStart->setPixmap(  KDGanttView::getPixmap( start, st, backgroundColor(), 10 )  );
00255     HighMiddle->setPixmap(  KDGanttView::getPixmap( middle, mi, backgroundColor(), 10 )  );
00256     HighEnd->setPixmap(  KDGanttView::getPixmap( end, en, backgroundColor(), 10 )  );
00257     ChangeText->setPixmap(QPixmap( 16,16 ));
00258     QPixmap * pix;
00259     pix  = (QPixmap *)ChangeText->pixmap();
00260     pix->fill( item->textColor() );
00261     StartBox->setCurrentItem((int)start );
00262     MiddleBox->setCurrentItem((int)middle );
00263     EndBox->setCurrentItem( (int) end );
00264     CalBox->setChecked( item-> displaySubitemsAsGroup() );
00265     PrioSpinBox->setValue( item->priority() );
00266     PrioSlider->setValue( item->priority() );
00267     myItem = item;
00268 
00269 }
00270 
00271 void itemAttributeDialog::HighStart_clicked()
00272 {
00273     if ( !myItem) return;
00274     KDGanttViewItem::Shape start,  middle, end;
00275     myItem->shapes( start, middle, end );
00276     QColor st, mi, en;
00277     myItem->highlightColors( st, mi, en );
00278     QColor c = QColorDialog::getColor( st, this );
00279     if ( c.isValid() ) {
00280     st = c;
00281     HighStart->setPixmap(  KDGanttView::getPixmap( start, st, backgroundColor(), 10 )  );
00282     myItem->setHighlightColors( st, mi, en );
00283     }
00284 
00285 }
00286 
00287 
00288 void itemAttributeDialog::HighMiddle_clicked()
00289 {
00290     if ( !myItem) return;
00291     KDGanttViewItem::Shape start,  middle, end;
00292     myItem->shapes( start, middle, end );
00293     QColor st, mi, en;
00294     myItem->highlightColors( st, mi, en );
00295     QColor c = QColorDialog::getColor( mi, this );
00296     if ( c.isValid() ) {
00297     mi = c;
00298     HighMiddle->setPixmap(  KDGanttView::getPixmap( middle, mi, backgroundColor(), 10 )  );
00299     myItem->setHighlightColors( st, mi, en );
00300     }
00301 
00302 }
00303 
00304 
00305 void itemAttributeDialog::HighEnd_clicked()
00306 {
00307     if ( !myItem) return;
00308    KDGanttViewItem::Shape start,  middle, end;
00309     myItem->shapes( start, middle, end );
00310     QColor st, mi, en;
00311     myItem->highlightColors( st, mi, en );
00312     QColor c = QColorDialog::getColor( en, this );
00313     if ( c.isValid() ) {
00314     en = c;
00315     HighEnd->setPixmap(  KDGanttView::getPixmap( end, en, backgroundColor(), 10 )  );
00316     myItem->setHighlightColors( st, mi, en );
00317     }
00318 
00319 }
00320 
00321 
00322 void itemAttributeDialog::DateEdit1_valueChanged( const QDate & )
00323 {
00324     if ( !myItem) return;
00325     QDateTime dt;
00326     dt.setDate( DateEdit1->date() );
00327     dt.setTime( TimeEdit1->time() );
00328     if ( dt.isValid() )
00329     {
00330         myItem->setStartTime( dt );
00331     resetTime( myItem );
00332    }
00333 }
00334 
00335 
00336 void itemAttributeDialog::TimeEdit1_valueChanged( const QTime & )
00337 {
00338     if ( !myItem) return;
00339     QDateTime dt;
00340     dt.setDate( DateEdit1->date() );
00341     dt.setTime( TimeEdit1->time() );
00342     if ( dt.isValid() ) {
00343     myItem->setStartTime( dt );
00344    
00345     resetTime( myItem );
00346 }
00347 }
00348 
00349 
00350 void itemAttributeDialog::DateEdit2_valueChanged( const QDate & )
00351 {
00352     if ( !myItem) return;
00353     QDateTime dt;
00354     dt.setDate( DateEdit2->date() );
00355     dt.setTime( TimeEdit2->time() );
00356     if ( dt.isValid() ) {
00357     ((KDGanttViewSummaryItem*)myItem)->setMiddleTime( dt );
00358     resetTime( myItem );
00359 }
00360 }
00361 
00362 
00363 void itemAttributeDialog::TimeEdit2_valueChanged( const QTime & )
00364 {
00365     if ( !myItem) return;
00366     QDateTime dt;
00367     dt.setDate( DateEdit2->date() );
00368     dt.setTime( TimeEdit2->time() );
00369     if ( dt.isValid() ) {
00370     ((KDGanttViewSummaryItem*)myItem)->setMiddleTime( dt );
00371     resetTime( myItem );
00372 }
00373 }
00374 
00375 
00376 void itemAttributeDialog::DateEdit3_valueChanged( const QDate & )
00377 {
00378     if ( !myItem) return;
00379     QDateTime dt;
00380     dt.setDate( DateEdit3->date() );
00381     dt.setTime( TimeEdit3->time() );
00382     if ( dt.isValid() ) {
00383     myItem->setEndTime( dt );
00384     resetTime( myItem );
00385 }
00386 }
00387 
00388 
00389 void itemAttributeDialog::TimeEdit3_valueChanged( const QTime & )
00390 {
00391     if ( !myItem) return;
00392    QDateTime dt;
00393     dt.setDate( DateEdit3->date() );
00394     dt.setTime( TimeEdit3->time() );
00395     if ( dt.isValid() ) {
00396     myItem->setEndTime( dt );
00397     resetTime( myItem );
00398 }
00399 }
00400 
00401 
00402 void itemAttributeDialog::LineEdit1_textChanged( const QString & )
00403 {
00404     if ( !myItem) return;
00405     myItem->setText(LineEdit1->text());
00406 }
00407 
00408 
00409 void itemAttributeDialog::StartBox_activated( const QString & s )
00410 {
00411     KDGanttViewItem::Shape start,  middle, end;
00412     myItem->shapes( start, middle, end );
00413     start = KDGanttViewItem::stringToShape( s );
00414     myItem->setShapes( start, middle, end );
00415     reset( myItem );
00416 }
00417 
00418 
00419 void itemAttributeDialog::MiddleBox_activated( const QString & s )
00420 {
00421     KDGanttViewItem::Shape start,  middle, end;
00422     myItem->shapes( start, middle, end );
00423     middle = KDGanttViewItem::stringToShape( s );
00424     myItem->setShapes( start, middle, end );
00425     reset( myItem );
00426 
00427 }
00428 
00429 
00430 void itemAttributeDialog::EndBox_activated( const QString & s )
00431 {
00432     KDGanttViewItem::Shape start,  middle, end;
00433     myItem->shapes( start, middle, end );
00434     end = KDGanttViewItem::stringToShape( s );
00435     myItem->setShapes( start, middle, end );
00436     reset( myItem );
00437 
00438 }
00439 
00440 
00441 void itemAttributeDialog::DateEdit4_valueChanged( const QDate & )
00442 {
00443    if ( !myItem) return;
00444     QDateTime dt;
00445     dt.setDate( DateEdit4->date() );
00446     dt.setTime( TimeEdit4->time() );
00447     if ( dt.isValid() ) {
00448     ((KDGanttViewEventItem*)myItem)->setLeadTime( dt );
00449     resetTime( myItem );
00450     }
00451 }
00452 
00453 
00454 void itemAttributeDialog::TimeEdit4_valueChanged( const QTime & )
00455 {
00456     if ( !myItem) return;
00457     QDateTime dt;
00458     dt.setDate( DateEdit4->date() );
00459     dt.setTime( TimeEdit4->time() );
00460     if ( dt.isValid() ) {
00461     ((KDGanttViewEventItem*)myItem)->setLeadTime( dt );
00462     resetTime( myItem );
00463 }
00464 }
00465 
00466 
00467 void itemAttributeDialog::DateEdit5_valueChanged( const QDate & )
00468 {
00469     if ( !myItem) return;
00470     QDateTime dt;
00471     dt.setDate( DateEdit5->date() );
00472     dt.setTime( TimeEdit5->time() );
00473     if ( dt.isValid() ) {
00474     ((KDGanttViewSummaryItem*)myItem)->setActualEndTime( dt );
00475     resetTime( myItem );
00476 }
00477 }
00478 
00479 
00480 void itemAttributeDialog::TimeEdit5_valueChanged( const QTime & )
00481 {
00482     if ( !myItem) return;
00483     QDateTime dt;
00484     dt.setDate( DateEdit5->date() );
00485     dt.setTime( TimeEdit5->time() );
00486     if ( dt.isValid() ) {
00487     ((KDGanttViewSummaryItem*)myItem)->setActualEndTime( dt );
00488     resetTime( myItem );
00489 }
00490 }
00491 
00492 
00493 
00494 void itemAttributeDialog::itemName_textChanged( const QString & )
00495 {
00496     if ( !myItem) return;
00497     ((QListViewItem*)myItem)->setText( 0, itemName->text() );
00498     setCaption( "Properties of " + itemName->text() );
00499 }
00500 
00501 
00502 void itemAttributeDialog::PrioSpinBox_valueChanged( int val )
00503 {
00504    if ( !myItem) return;
00505    myItem->setPriority( val );
00506    PrioSlider->blockSignals( true );
00507    PrioSlider->setValue( val );
00508    PrioSlider->blockSignals( false );
00509    
00510 }
00511 
00512 
00513 void itemAttributeDialog::CalBox_toggled( bool mode )
00514 {
00515     if ( !myItem) return;
00516     myItem->setDisplaySubitemsAsGroup( mode );
00517     if (myItem->firstChild() )
00518     reset(myItem);
00519 }
00520 
00521 
00522 void itemAttributeDialog::PrioSlider_valueChanged( int val )
00523 {
00524 if ( !myItem) return;
00525    myItem->setPriority( val );
00526    PrioSpinBox->blockSignals( true );
00527    PrioSpinBox->setValue( val );
00528    PrioSpinBox->blockSignals( false );
00529 }
00530 
00531 
00532 KDGanttViewItem* itemAttributeDialog::getItem()
00533 {
00534  return myItem;
00535 }
KDE Home | KDE Accessibility Home | Description of Access Keys