kprogressbox.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2010 Timothy Pearson 00003 Copyright (C) 1996 Martynas Kunigelis 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 /***************************************************************************** 00020 * * 00021 * KProgressBox -- progress indicator widget for KDE * 00022 * Original QRangeControl-based version written by Martynas Kunigelis * 00023 * Current TQProgressBar based version by Aaron Seigo * 00024 * Textbox extension by Timothy Pearson * 00025 * * 00026 *****************************************************************************/ 00027 00028 #ifndef _KProgressBox_H 00029 #define _KProgressBox_H "$Id: KProgressBox.h 589356 2006-09-28 00:58:09Z tpearson $" 00030 00031 #include <tqprogressbar.h> 00032 #include <kdialogbase.h> 00033 #include <kprogress.h> 00034 #include <ktextedit.h> 00035 00054 class KDEUI_EXPORT KProgressBoxDialog : public KDialogBase 00055 { 00056 Q_OBJECT 00057 00058 public: 00068 KProgressBoxDialog(TQWidget* parent = 0, const char* name = 0, 00069 const TQString& caption = TQString::null, 00070 const TQString& text = TQString::null, 00071 bool modal = false); 00072 00076 ~KProgressBoxDialog(); 00077 00083 KProgress* progressBar(); 00084 00090 KTextEdit* textEdit(); 00091 00097 const KProgress* progressBar() const; 00098 00104 const KTextEdit* textEdit() const; 00105 00111 void setLabel(const TQString & text); 00112 00117 // ### Remove this KDE 4.0 00118 TQString labelText() KDE_DEPRECATED; 00119 00123 TQString labelText() const; 00124 00134 void setAllowCancel(bool allowCancel); 00135 00141 void setAllowTextEdit(bool allowTextEdit); 00142 00147 // ### Remove this KDE 4.0 00148 bool allowCancel() KDE_DEPRECATED; 00149 00153 bool allowCancel() const; 00154 00161 void showCancelButton(bool show); 00162 00167 void setAutoClose(bool close); 00168 00173 // ### Remove this KDE 4.0 00174 bool autoClose(); 00175 00180 bool autoClose() const; 00181 00187 void setAutoReset(bool autoReset); 00188 00193 // ### Remove this KDE 4.0 00194 bool autoReset(); 00195 00200 bool autoReset() const; 00201 00207 // ### Remove this KDE 4.0 00208 bool wasCancelled(); 00209 00215 bool wasCancelled() const; 00216 00223 void ignoreCancel(); 00224 00228 void setButtonText(const TQString&); 00229 00234 // ### Remove this KDE 4.0 00235 TQString buttonText() KDE_DEPRECATED; 00236 00240 TQString buttonText() const; 00241 00246 void setMinimumDuration(int ms); 00247 00252 // ### Remove this KDE 4.0 00253 int minimumDuration() KDE_DEPRECATED; 00254 00258 int minimumDuration() const; 00259 00263 virtual void show(); 00264 00265 protected slots: 00266 void slotAutoShow(); 00267 void slotAutoActions(int percentage); 00268 void slotCancel(); 00269 00270 private: 00271 // ### Move these member variables to d in KDE 4.0 00272 bool mAutoClose; 00273 bool mAutoReset; 00274 bool mCancelled; 00275 bool mAllowCancel; 00276 bool mAllowTextEdit; 00277 bool mShown; 00278 TQString mCancelText; 00279 TQLabel* mLabel; 00280 KProgress* mProgressBar; 00281 KTextEdit* mTextBox; 00282 TQTimer* mShowTimer; 00283 int mMinDuration; 00284 protected: 00285 virtual void virtual_hook( int id, void* data ); 00286 private: 00287 struct KProgressBoxDialogPrivate; 00288 KProgressBoxDialogPrivate *d; 00289 }; 00290 00291 #endif