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 TQt, and distribute the resulting executable, 00026 ** without including the source code for TQt 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 TQt 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 <tqcolordialog.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 TQColor c = TQColorDialog::getColor( myItem->textColor(), this ); 00053 if ( c.isValid() ) 00054 myItem->setTextColor( c ); 00055 TQPixmap * pix = (TQPixmap *)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 TQColor st, mi, en; 00067 myItem->colors( st, mi, en ); 00068 TQColor c = TQColorDialog::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 TQColor st, mi, en; 00084 myItem->colors( st, mi, en ); 00085 TQColor c = TQColorDialog::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 TQColor st, mi, en; 00100 myItem->colors( st, mi, en ); 00101 TQColor c = TQColorDialog::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 " + ((TQListViewItem*)item)->text(0) ); 00241 itemName->setText(((TQListViewItem*)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 TQColor 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(TQPixmap( 16,16 )); 00258 TQPixmap * pix; 00259 pix = (TQPixmap *)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 TQColor st, mi, en; 00277 myItem->highlightColors( st, mi, en ); 00278 TQColor c = TQColorDialog::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 TQColor st, mi, en; 00294 myItem->highlightColors( st, mi, en ); 00295 TQColor c = TQColorDialog::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 TQColor st, mi, en; 00311 myItem->highlightColors( st, mi, en ); 00312 TQColor c = TQColorDialog::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 TQDate & ) 00323 { 00324 if ( !myItem) return; 00325 TQDateTime 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 TQTime & ) 00337 { 00338 if ( !myItem) return; 00339 TQDateTime 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 TQDate & ) 00351 { 00352 if ( !myItem) return; 00353 TQDateTime 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 TQTime & ) 00364 { 00365 if ( !myItem) return; 00366 TQDateTime 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 TQDate & ) 00377 { 00378 if ( !myItem) return; 00379 TQDateTime 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 TQTime & ) 00390 { 00391 if ( !myItem) return; 00392 TQDateTime 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 TQString & ) 00403 { 00404 if ( !myItem) return; 00405 myItem->setText(LineEdit1->text()); 00406 } 00407 00408 00409 void itemAttributeDialog::StartBox_activated( const TQString & 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 TQString & 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 TQString & 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 TQDate & ) 00442 { 00443 if ( !myItem) return; 00444 TQDateTime 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 TQTime & ) 00455 { 00456 if ( !myItem) return; 00457 TQDateTime 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 TQDate & ) 00468 { 00469 if ( !myItem) return; 00470 TQDateTime 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 TQTime & ) 00481 { 00482 if ( !myItem) return; 00483 TQDateTime 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 TQString & ) 00495 { 00496 if ( !myItem) return; 00497 ((TQListViewItem*)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 }