Almetare 1.20
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
ti30_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//******************************************************************************
12//******************************************************************************
13// Wann Wer Was
14// ---------- -------- ---------------------------------------------------------
15// 15.11.2003 fse butType(): Aufruf butTypeBase() mit neuem Parameter
16// getWFlags()
17// 08.10.2001 fse erzeugt
18//******************************************************************************
19
20#ifndef TI30MAINDLG_H
21#define TI30MAINDLG_H
22
23#include <string>
24#include <qtimer.h>
25#include <qtoolbutton.h>
26#include "ti30_main_base_dlg.h"
27#include "calc_dlg_base.h"
28#include "calc_ti30.h"
29
30using namespace std;
31
32//******************************************************************************
33
35
36class Ti30mainDlg : public Ti30mainBaseDlg, CalcDlgBase
37{
38 Q_OBJECT
39
43 QTimer mTim45s, mTim150ms, mTim8min, mTimThinking;
44 string mIdleStr;
45 string mThinkStr;
46
47 void makeShortCutTab();
48 void adjustSimpleSkin();
49 void adjustDebugSkin() {}
50 void setDisplayFields(bool isDoPerhapsNot = 0);
51 void setLed(string str);
52 void getSourceCoords(char c, bool isPointSucc, int& row, int& col);
53 void showAnyThinkSequence(string sym, string lastSym);
54 void showEquThinkSequence(string lastSym);
55 void switchOff();
56 void keyPressEvent(QKeyEvent* evP);
57 void keyReleaseEvent(QKeyEvent* evP);
58
59protected:
60 void resizeEvent(QResizeEvent*) { resizeAllWidgets(this); }
61 void enterEvent(QEvent*) { showHint(); }
62
63public slots:
64 void timeout8min();
65 void timeout45s();
66 void timeout150ms();
67 void timeoutThinking();
68
69public:
70 Ti30mainDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags f = 0 );
71 ~Ti30mainDlg() {}
72
73 void butDigit ();
74 void butEe ();
75 void butAction();
76 void butOff ();
77 void butOn ();
78 void butDrg ();
79 void butInv ();
80 void butSign () { butSignBase(); updateDisplayAfterDigit(); }
81 void butType () { butTypeBase(this, getWFlags()); mCalcTypeP->setDown(false); }
82 void playPress () { playPressBase (); }
84};
85
86//******************************************************************************
87
88#endif // !TI30MAINDLG_H
Implementierung der Basisfunktionalitaet des Taschenrechner-Dialogs aller Taschenrechner (Modul base)...
Klassen fuer den TI-30 (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 updateDisplayAfterDigit(string inputStr="")
Erneuert die Members mModes und mSeven der Display-Klasse und das LCD entsprechend.
Definition: calc_dlg_base.cpp:799
void showHint()
Bringt Message-Box auf den Bildschirm, wenn die Maus zum ersten Mal den Rechnerdialog betritt.
Definition: calc_dlg_base.cpp:433
void butSignBase()
Waehrend der Eingabe einer Zahl muss das Vorzeichen gewechselt werden, ohne die Eingabe zu unterbrech...
Definition: calc_dlg_base.cpp:878
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 TI-30.
Definition: calc_ti30.h:75
Die Klasse implementiert den Computer des TI-30.
Definition: calc_ti30.h:57
Die Klasse implementiert die Anzeige des TI-30.
Definition: calc_ti30.h:42
Eigene Dialogklasse des TI-30.
Definition: ti30_main_dlg.h:37
Ti30mainDlg(QWidget *parent=0, const char *name=0, bool modal=FALSE, WFlags f=0)
Konstruktion des Dialogs.
Definition: ti30_main_dlg.cpp:43
void butOn()
Slot-Funktion fuer die On-Taste.
Definition: ti30_main_dlg.cpp:436
void butOff()
Slot-Funktion fuer die Off-Taste.
Definition: ti30_main_dlg.cpp:390
void showAnyThinkSequence(string sym, string lastSym)
Erzeugt (angenaehert) eine der Sequenzen von Zeichen, die der TI-30 ausgibt, wenn er ueber schwierige...
Definition: ti30_main_dlg.cpp:315
void timeoutThinking()
Erzeugt eine konkrete Sequenz von Zeichen, die der TI-30 beim "Nachdenken" ausgibt.
Definition: ti30_main_dlg.cpp:350
void butDigit()
Slot-Funktion fuer die Zifferntasten.
Definition: ti30_main_dlg.cpp:372
void butInv()
Slot-Funktion fuer die INV-Taste.
Definition: ti30_main_dlg.cpp:463
void butAction()
Slot-Funktion fuer die meisten Buttons.
Definition: ti30_main_dlg.cpp:280
string mIdleStr
String zur Darstellung der laufenden Punkte.
Definition: ti30_main_dlg.h:44
ComputerTi30 * mCompP
Zeiger auf den Computer.
Definition: ti30_main_dlg.h:41
QTimer mTimThinking
diverse Timer
Definition: ti30_main_dlg.h:43
DisplayTi30 * mDsplP
Zeiger auf das Display.
Definition: ti30_main_dlg.h:42
void adjustSimpleSkin()
Setzt fuer einige Buttons rote und blaue Farbe.
Definition: ti30_main_dlg.cpp:113
CalculatorTi30 mCalc
der integrierte Konsolen-Calculator
Definition: ti30_main_dlg.h:40
void playPress()
Slot-Funktion "Taste gedrueckt".
Definition: ti30_main_dlg.h:82
void getSourceCoords(char c, bool isPointSucc, int &row, int &col)
Liefert zu einem Buchstaben die zugehoerige Zeile und Spalte in der Pixmap.
Definition: ti30_main_dlg.cpp:235
void makeShortCutTab()
Funktion erzeugt die Tabelle mit allen Shortcuts.
Definition: ti30_main_dlg.cpp:555
void playRelease()
Slot-Funktion "Taste losgelassen".
Definition: ti30_main_dlg.h:83
void timeout8min()
8-Minuten Timer zum "Abschalten" des Rechners.
Definition: ti30_main_dlg.cpp:77
void setLed(string str)
Setzt den String str in die passenden Buchstaben der Leuchtdiodenanzeige um.
Definition: ti30_main_dlg.cpp:187
void setDisplayFields(bool isDoPerhapsNot=0)
Erneuert die LED-Anzeige.
Definition: ti30_main_dlg.cpp:154
void showEquThinkSequence(string lastSym)
Zeigt spezielle "Thinking"-Sequenz, wenn '=' gedrueckt wurde.
Definition: ti30_main_dlg.cpp:336
void timeout150ms()
150-Millisekunden-Timer fuer den laufenden Punkt im "Stromspar"-Modus.
Definition: ti30_main_dlg.cpp:98
void butDrg()
Slot-Funktion fuer Winkelmodi DEG, RAD, GRA.
Definition: ti30_main_dlg.cpp:532
string mThinkStr
String zur Darstellung des "Nachdenkens".
Definition: ti30_main_dlg.h:45
void keyReleaseEvent(QKeyEvent *evP)
Mapped alle Tastatureingaben auf Tastendruecke in der Dialogbox.
Definition: ti30_main_dlg.cpp:629
void butEe()
Slot-Funktion fuer die Exponentialtaste.
Definition: ti30_main_dlg.cpp:480
void timeout45s()
45-Sekunden Timer fuer Einschalten des "Stromspar"-Modus'.
Definition: ti30_main_dlg.cpp:87
void keyPressEvent(QKeyEvent *evP)
Mapped alle Tastatureingaben auf Tastendruecke in der Dialogbox.
Definition: ti30_main_dlg.cpp:615
void switchOff()
Schaltet Rechner aus.
Definition: ti30_main_dlg.cpp:401