22 #ifndef CALC_DLG_BASE_H 23 #define CALC_DLG_BASE_H 30 #include <qlineedit.h> 54 typedef map<char, QButton*> ShortCutTabT;
55 typedef ShortCutTabT::iterator ShortCutTabIT;
56 typedef map<string, WgtData> WgtDataMapT;
57 typedef WgtDataMapT::iterator WgtDataMapIT;
73 bool loadWavs(
string path, vector<QSound*>& qsPvec);
75 void setRealisticSkin();
78 void hideOrShowAllLabels(
bool isToHide);
79 void setNewSize(QWidget* qwP);
80 void rescalePixmap(QButton* bP,
const QRect& orgWgtRect);
81 string mapDlgBase(
string& sym)
const;
82 void butDigitDigit(
string& sym);
83 void butDigitAction(
string& sym);
85 void removeToolTips();
87 void setResetAlwaysOnTop(
bool alwaysOnTop, Qt::WFlags wflags,
bool showIt);
90 enum ButtonType { B_NO, B_ANY_MODE, B_DIGIT, B_ACTION, B_ON, B_PI, B_EE, B_ENG };
132 void initCalcDlgBase();
134 void resizeAllWidgets(QDialog* mainDlgP);
135 void setLastType(ButtonType bt) { mLastButOneType = mLastType; mLastType = bt; }
137 string extractSym(QPushButton* senderP);
138 void butAnyModeBase(
string& sym);
139 void butActionBase(
string& sym,
string& lastSymb);
140 void butDigitBase (
string& sym);
143 void butTypeBase(QWidget* dlgP, Qt::WFlags wflags);
144 void playPressBase();
145 void playReleaseBase();
146 void execKeyEvent(QKeyEvent* evP, QMouseEvent& me);
147 void updateDisplayAfterDigit(
string inputStr =
"");
148 void updateDisplay(
string inputStr =
"");
150 void copyBaseDisplayFields();
151 void setError() { mCalcP->getDisplayP ()->setError(); }
152 bool isError () {
return mCalcP->getDisplayP ()->
isError (); }
154 virtual void preExtractSym(
string sym) { sym = sym; };
155 virtual void adjustRealisticSkin() {};
156 virtual void adjustSimpleSkin() = 0;
157 virtual void adjustDebugSkin() = 0;
158 virtual void makeShortCutTab() = 0;
159 virtual void setDisplayFields(
bool isDoPerhapsNot =
false) = 0;
165 bool getIsPixLoaded() {
return mIsPixLoaded; }
166 QPixmap& getApplIconPixmap() {
return mApplIconPixmap; }
167 ShortCutTabT* getShortCutTabP() {
return &mShortCutTab; }
172 #endif // !CALC_DLG_BASE_H double mYfact
Resize-Faktor in y-Richtung.
Definition: calc_dlg_base.h:105
QPixmap mApplIconPixmap
Pixmap mit dem Application-Icon (links oben im Dialog)
Definition: calc_dlg_base.h:108
QRect mLcdRect
schmaler Streifen fuer die LCD-Ziffern
Definition: calc_dlg_base.h:112
bool mIsSoundLoaded
konnten Sounds geladen werden?
Definition: calc_dlg_base.h:127
QPixmap mBackgroundPixmap
Pixmap mit dem Hintergrundbild.
Definition: calc_dlg_base.h:109
double mXfact
Resize-Faktor in x-Richtung.
Definition: calc_dlg_base.h:104
clock_t mPressedClock
Clock, wenn Taste gedrueckt wurde.
Definition: calc_dlg_base.h:71
ButtonType mLastType
Typ der zuletzt gedrueckten Taste.
Definition: calc_dlg_base.h:119
QRect mOrgLcdRect
schmaler Streifen fuer die LCD-Ziffern
Definition: calc_dlg_base.h:101
vector< QSound * > mPrsSounds
Liste aller Sounds fuer 'Taste druecken'.
Definition: calc_dlg_base.h:122
CalculatorBase * mCalcP
Zeiger auf den eigentlichen Rechner.
Definition: calc_dlg_base.h:94
bool isError()
Prueft, ob bei einer Berechnung ein Fehler aufgetreten ist.
Definition: calculator.cpp:176
QLineEdit * mLcdStrBaseP
formatiertes Ein-Ausgabefeld der Dialog-Box
Definition: calc_dlg_base.h:113
QDialog * mCalcDlgP
Zeiger auf den Dialog.
Definition: calc_dlg_base.h:93
int mDefaultHeight
Default-Hoehe des Rechners (falls keine Pixmap)
Definition: calc_dlg_base.h:98
QPixmap mScaledDigitsPixmap
Pixmap mit allen Ziffern, skaliert.
Definition: calc_dlg_base.h:111
int mDigitHeight
natuerliche Hoehe einer Ziffer im Display
Definition: calc_dlg_base.h:100
Basisklasse aller Taschenrechner.
Definition: calculator.h:244
Basisklassen fuer alle Taschenrechner (Modul base)
QLineEdit * mModesBaseP
Modes-Ausgabefeld der Dialog-Box.
Definition: calc_dlg_base.h:114
bool mIsOff
Rechner ein- oder ausgeschaltet.
Definition: calc_dlg_base.h:125
bool mIsPixLoaded
konnten Rechner-Pixmaps geladen werden?
Definition: calc_dlg_base.h:126
ButtonType mLastButOneType
Typ der vorletzten gedrueckten Taste.
Definition: calc_dlg_base.h:120
QSize mOrgDlgSize
Originalgroesse des Rechners.
Definition: calc_dlg_base.h:102
vector< QSound * > mRlsSounds
Liste aller Sounds fuer 'Taste loslassen'.
Definition: calc_dlg_base.h:123
QLabel * mSeebassBaseP
Namensfeld.
Definition: calc_dlg_base.h:116
In dieser Klasse ist die Basisfunktionalitaet des Taschenrechner-Dialogs aller Taschenrechner impleme...
Definition: calc_dlg_base.h:69
QLineEdit * mDisplayBaseP
"rohes" Ein-Ausgabefeld der Dialog-Box
Definition: calc_dlg_base.h:115
int mMaxDigitNum
maximale Anzahl von Ziffern bei der Eingabe
Definition: calc_dlg_base.h:128
int mDefaultWidth
Default-Breite des Rechners (falls keine Pixmap)
Definition: calc_dlg_base.h:97
Struktur zur Aufnahme der Groesse und des Originaltextes aller Widgets auf dem Dialog.
Definition: calc_dlg_base.h:46
WgtDataMapT mOrgWgtMap
Originalgroessen und -texte aller Widgets des Dialogs.
Definition: calc_dlg_base.h:103
ShortCutTabT mShortCutTab
Liste aller Shortcuts.
Definition: calc_dlg_base.h:124
int mDigitWidth
natuerliche Breite einer Ziffer im Display
Definition: calc_dlg_base.h:99
string mDisplayStr
Eingabefeld des Taschenrechners.
Definition: calc_dlg_base.h:121
QPixmap mDigitsPixmap
Pixmap mit allen Ziffern.
Definition: calc_dlg_base.h:110