Almetare 1.20
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
fx3600p_main_dlg.h
gehe zur Dokumentation dieser Datei
1//******************************************************************************
2// Copyright (c) 2002-2004 by Friedemann Seebass, Germany.
3// Dieses Programm ist freie Software. Siehe GNU GPL Notiz in Datei main.cpp.
4// This program is free software. See the GNU GPL notice in file main.cpp.
5// Projekt: Almetare - Alle meine Taschenrechner
6//******************************************************************************
11//******************************************************************************
12// Wann Wer Was
13// ---------- -------- ---------------------------------------------------------
14// 12.06.2004 fse Deklarationen von showAnyThinkSequence() und
15// showEquThinkSequence() entfernt
16// 15.11.2003 fse butType(): Aufruf butTypeBase() mit neuem Parameter
17// getWFlags()
18// 01.03.2003 fse erzeugt
19//******************************************************************************
20
21#ifndef FX3600PMAINDLG_H
22#define FX3600PMAINDLG_H
23
24#include <qtimer.h>
25#include "fx3600p_main_base_dlg.h"
26#include "calc_dlg_base.h"
27#include "calc_fx3600p.h"
28
29using namespace std;
30
31//******************************************************************************
32
35
36class Fx3600pMainDlg : public Fx3600pMainBaseDlg, CalcDlgBase
37{
38 Q_OBJECT
39
43 QTimer mTimOff;
44 QTimer mTimBlink;
47 QColor mColLgtbrown;
48 QColor mColDrkbrown;
49 QColor mColLgtblue;
50 QColor mColDrkblue;
51 QColor mColOrngInv;
52 QColor mColOrngLbl;
53 QColor mColBeige;
54 QColor mColOrngAc;
55 QSound* mOnSoundP;
56 QSound* mOffSoundP;
57
58 void rowColToPix(int row, int col, int& x, int& y, int& w, int& h);
59 void setLcd(string str);
60 void getSourceCoords(char c, bool isPointSucc, bool isExp, bool isMode, int& x, int& y, int& w, int& h);
61 void switchOff();
62 void keyPressEvent(QKeyEvent* evP);
63 void keyReleaseEvent(QKeyEvent* evP);
64 void resetAllModes();
65 string replaceSpaceByCr(string& src);
66 bool isPrgRunning() { return mCompP->isPrgRunning(); }
67 void setLabelColors();
68 void adjustSimpleSkin();
69 void adjustDebugSkin();
70 void setDisplayFields(bool isDoPerhapsNot = 0);
71 void makeShortCutTab();
72 void butEngBoth(Util::Direction dir);
73 void preExtractSym(string sym);
75 void clearLcdButOn();
76
77protected:
78 void resizeEvent(QResizeEvent*) { resizeAllWidgets(this); }
79 void enterEvent(QEvent*) { showHint(); }
80
81public slots:
82 void timeoutOff();
83 void timeoutBlink();
84
85public:
86 Fx3600pMainDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags f = 0);
88
89 void butPon ();
90 void butPrg ();
91 void butAc ();
92 void butDigit ();
93 void butAbc ();
94 void butExp ();
95 void butAction ();
96 void butEng ();
97 void butAnyMode ();
98 void butBra ();
99 void butSign ();
100 void butSum ();
101 void butType () { butTypeBase(this, getWFlags()); }
102 void playPress () { playPressBase (); }
103 void playRelease() { playReleaseBase(); }
104};
105
106//******************************************************************************
107
108#endif // !FX3600PMAINDLG_H
Implementierung der Basisfunktionalitaet des Taschenrechner-Dialogs aller Taschenrechner (Modul base)...
Klassen fuer den Casio fx-3600P (Modul special).
In dieser Klasse ist die Basisfunktionalitaet des Taschenrechner-Dialogs aller Taschenrechner impleme...
Definition: calc_dlg_base.h:70
void resizeAllWidgets(QDialog *mainDlgP)
Ermittelt aus der aktuellen Groesse und der Originalgroesse des Hauptdialogs mainDlgP Streckfaktoren ...
Definition: calc_dlg_base.cpp:458
void playReleaseBase()
Spielt einen der Sounds im Vektor mRlsSounds beim Loslassen der Taste.
Definition: calc_dlg_base.cpp:1048
void butTypeBase(QWidget *dlgP, Qt::WFlags wflags)
Fuehrt den Konfigurationsdialog aus.
Definition: calc_dlg_base.cpp:978
void showHint()
Bringt Message-Box auf den Bildschirm, wenn die Maus zum ersten Mal den Rechnerdialog betritt.
Definition: calc_dlg_base.cpp:433
void playPressBase()
Spielt einen der Sounds im Vektor mPrsSounds beim Druecken der Taste.
Definition: calc_dlg_base.cpp:1025
Die Klasse implementiert den Calculator des Casio fx-3600P.
Definition: calc_fx3600p.h:139
Die Klasse implementiert den Computer des Casio fx-3600P.
Definition: calc_fx3600p.h:43
Die Klasse implementiert die Anzeige des Casio fx-3600P.
Definition: calc_fx3600p.h:107
Eigene Dialogklasse des fx-3600P.
Definition: fx3600p_main_dlg.h:37
QColor mColLgtblue
helleres Blau fuer LR- und SD-Label
Definition: fx3600p_main_dlg.h:49
void butSum()
M+-Taste.
Definition: fx3600p_main_dlg.cpp:808
void getSourceCoords(char c, bool isPointSucc, bool isExp, bool isMode, int &x, int &y, int &w, int &h)
Liefert zu einem Buchstaben die zugehoerigen Pixelkoordinaten in der Pixmap.
Definition: fx3600p_main_dlg.cpp:502
QColor mColDrkblue
dunkleres Blau fuer Typbezeichnung
Definition: fx3600p_main_dlg.h:50
void butAbc()
Taste zum Bruchrechnen.
Definition: fx3600p_main_dlg.cpp:833
void preExtractSym(string sym)
Wird von extractSym() aufgerufen, erlaubt Vorverarbeitung.
Definition: fx3600p_main_dlg.cpp:257
void butDigit()
Slot-Funktion fuer die Zifferntasten.
Definition: fx3600p_main_dlg.cpp:727
void butBra()
Slot-Funktion ist nur noetig, um in der Anzeige die Klammer erscheinen zu lassen.
Definition: fx3600p_main_dlg.cpp:988
void switchOff()
Schaltet den Rechner im More-Realistic-Modus "aus", wenn der 6-Minuten-Timer abgelaufen ist.
Definition: fx3600p_main_dlg.cpp:1027
QTimer mTimBlink
0,4-Sek.-Timer fuers Blinken von "P1 P2"
Definition: fx3600p_main_dlg.h:44
void makeShortCutTab()
Funktion erzeugt die Tabelle mit allen Shortcuts.
Definition: fx3600p_main_dlg.cpp:1049
~Fx3600pMainDlg()
Speichert vor dem Verlassen die Groessendaten des Dialogs in der Konfigurationsdatei.
Definition: fx3600p_main_dlg.cpp:201
void keyReleaseEvent(QKeyEvent *evP)
Mapped alle Tastatureingaben auf Tastendruecke in der Dialogbox.
Definition: fx3600p_main_dlg.cpp:1119
void timeoutOff()
"Abschalten" des Rechners nach Ablauf des 6-Minuten Timers.
Definition: fx3600p_main_dlg.cpp:218
void resetAllModes()
Setzt alle Shift-Ebenen zurueck.
Definition: fx3600p_main_dlg.cpp:753
QSound * mOnSoundP
Geraeusch beim Einschalten.
Definition: fx3600p_main_dlg.h:55
void adjustDebugSkin()
Entfernt die schwarze "Blende" hinter dem Display.
Definition: fx3600p_main_dlg.cpp:383
bool mIsModeMode
gibt an, ob Mode-Taste gedrueckt
Definition: fx3600p_main_dlg.h:45
QColor mColDrkbrown
dunkleres Braun f. Mode-Labels
Definition: fx3600p_main_dlg.h:48
QColor mColBeige
Beige fuer die kleinen Buttons.
Definition: fx3600p_main_dlg.h:53
void timeoutBlink()
0,4-Sekunden Timer fuers Blinken von P1P2.
Definition: fx3600p_main_dlg.cpp:228
void setLcd(string str)
Setzt den String str in die passenden Buchstaben des LCDs um.
Definition: fx3600p_main_dlg.cpp:428
void rowColToPix(int row, int col, int &x, int &y, int &w, int &h)
Liefert zu einer Zeilen-/Spalten-Position die zugehoerigen Pixelkoordinaten in der nicht skalierten D...
Definition: fx3600p_main_dlg.cpp:562
QColor mColOrngInv
Orange fuer INV-Button.
Definition: fx3600p_main_dlg.h:51
void butEng()
Schaltet die Anzeige in den Engineering-Modus bzw.
Definition: fx3600p_main_dlg.cpp:937
QColor mColLgtbrown
Farbe um das Display herum.
Definition: fx3600p_main_dlg.h:47
void butPrg()
Fuehrt den Programmierdialog aus.
Definition: fx3600p_main_dlg.cpp:641
QSound * mOffSoundP
Geraeusch beim Ausschalten.
Definition: fx3600p_main_dlg.h:56
CalculatorFx3600p mCalc
Inkorporierter Konsolenrechner.
Definition: fx3600p_main_dlg.h:40
DisplayFx3600p * mDsplP
Zeiger auf das Display des Rechners.
Definition: fx3600p_main_dlg.h:42
QColor mColOrngLbl
Orange fuer Button-Label.
Definition: fx3600p_main_dlg.h:52
ComputerFx3600p * mCompP
Zeiger auf den Computer des Rechners.
Definition: fx3600p_main_dlg.h:41
void butAc()
Button AC loescht alles bis auf die Speicher.
Definition: fx3600p_main_dlg.cpp:695
void adjustSimpleSkin()
Setzt die Farben der Buttons.
Definition: fx3600p_main_dlg.cpp:299
void butPon()
Slot für Schiebeschalter (ein/aus).
Definition: fx3600p_main_dlg.cpp:587
Fx3600pMainDlg(QWidget *parent=0, const char *name=0, bool modal=FALSE, WFlags f=0)
Konstruktion des Dialogs.
Definition: fx3600p_main_dlg.cpp:77
bool mIsHardOff
der Rechner wurde mit dem Ausschalter abgeschaltet
Definition: fx3600p_main_dlg.h:46
void butSign()
+/–Taste.
Definition: fx3600p_main_dlg.cpp:768
void butAction()
Slot-Funktionen fuer die meisten Buttons.
Definition: fx3600p_main_dlg.cpp:674
QColor mColOrngAc
Textfarbe "C" und "AC".
Definition: fx3600p_main_dlg.h:54
void setDisplayFields(bool isDoPerhapsNot=0)
Erneuert die LCD-Anzeige.
Definition: fx3600p_main_dlg.cpp:398
void clearLcdButOn()
Loescht die Anzeige bis auf das "ON"-Zeichen.
Definition: fx3600p_main_dlg.cpp:272
void butAnyMode()
Slot-Funktionen fuer die Mode-Buttons.
Definition: fx3600p_main_dlg.cpp:713
QTimer mTimOff
6-Minuten-Timer fuer automatisches Abschalten
Definition: fx3600p_main_dlg.h:43
void butExp()
Button EXP.
Definition: fx3600p_main_dlg.cpp:904
void keyPressEvent(QKeyEvent *evP)
Mapped alle Tastatureingaben auf Tastendruecke in der Dialogbox.
Definition: fx3600p_main_dlg.cpp:1106
void butEngBoth(Util::Direction dir)
Schaltet die Anzeige in den Engineering-Modus bzw.
Definition: fx3600p_main_dlg.cpp:960
void adjustRealisticSkin()
Veraendert die Tool-Buttons.
Definition: fx3600p_main_dlg.cpp:286
void setLabelColors()
Geht alle Widgets durch und setzt die Farben der Labels.
Definition: fx3600p_main_dlg.cpp:144