123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- #include "..\..\Global\Variablen.h"
- #include "..\..\Global\Initialisierung.h"
- #include "Unregistrierung.h"
- #include <Text.h>
- #include <Punkt.h>
- #include <InitDatei.h>
- // Inhalt der Unregistrierung Klasse aus Unregistrierung.h
- // Konstruktor
- Unregistrierung::Unregistrierung(Fenster* zVorLoginFenster)
- : ReferenceCounter()
- {
- Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- unregistrierung = initKnopf(10, 130, 130, 30, Knopf::Style::Sichtbar, "Account remove");
- unregistrierung->setMausEreignisParameter(this);
- unregistrierung->setMausEreignis(unregistrierungUnregistrierungME);
- initToolTip(unregistrierung, "Account für alle Zeiten entfernen.");
- zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(unregistrierung->getThis()));
- fenster = initFenster(bildschirmGröße.x / 2 - 125, bildschirmGröße.y / 2 - 85, 250, 170, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account remove");
- name = initTextFeld(24, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
- name->setTastaturEreignisParameter(this);
- name->setTastaturEreignis(unregistrierungNameTE);
- initToolTip(name, "Account Name eingeben.");
- fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
- passwort = initTextFeld(24, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
- passwort->setTastaturEreignisParameter(this);
- passwort->setTastaturEreignis(unregistrierungPasswortTE);
- initToolTip(passwort, "Account Passwort eingeben.");
- fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
- geheimnis = initTextFeld(24, 80, 200, 20, TextFeld::Style::TextFeld, "Account Geheimnis");
- geheimnis->setTastaturEreignisParameter(this);
- geheimnis->setTastaturEreignis(unregistrierungGeheimnisTE);
- initToolTip(geheimnis, "Account Geheimnis eingeben.");
- fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
- weiter = initKnopf(74, 110, 100, 20, Knopf::Style::Sichtbar, "Weiter");
- weiter->setMausEreignisParameter(this);
- weiter->setMausEreignis(unregistrierungWeiterME);
- fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
- text = initTextFeld(0, 5, 250, 170, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "");
- fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
- zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
- }
- // Destruktor
- Unregistrierung::~Unregistrierung()
- {
- if (fenster)
- fenster = (Fenster*)fenster->release();
- if (name)
- name = (TextFeld*)name->release();
- if (passwort)
- passwort = (TextFeld*)passwort->release();
- if (geheimnis)
- geheimnis = (TextFeld*)geheimnis->release();
- if (weiter)
- weiter = (Knopf*)weiter->release();
- if (text)
- text = (TextFeld*)text->release();
- if (unregistrierung)
- unregistrierung = (Knopf*)unregistrierung->release();
- }
- // Privat
- void Unregistrierung::zeigeNachricht(const char* txt)
- {
- Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
- name->removeStyle(TextFeld::Style::Sichtbar);
- passwort->removeStyle(TextFeld::Style::Sichtbar);
- geheimnis->removeStyle(TextFeld::Style::Sichtbar);
- fenster->setSize(250, 150);
- fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 75);
- weiter->setPosition(139, 100);
- weiter->setText("Ok");
- text->setText(txt);
- if (text->zText()->getLength() > 30)
- {
- int pos = -1;
- bool set = 0;
- int lastp = 0;
- for (int i = 20; i < text->zText()->getLength(); )
- {
- const char* tmp = &text->zText()->getText()[i];
- while (*tmp != ' ' && i < text->zText()->getLength())
- {
- tmp++;
- i++;
- if (i - 30 >= lastp)
- {
- if (set)
- {
- lastp = pos;
- set = 0;
- ((char*)text->zText()->getText())[pos] = '\n';
- }
- else
- lastp += 5;
- }
- }
- if (i < text->zText()->getLength())
- {
- pos = i;
- set = 1;
- tmp++;
- i++;
- }
- }
- }
- text->addStyle(TextFeld::Style::Sichtbar);
- }
- // Knopfdruck
- void Unregistrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
- {
- fenster->removeStyle(Fenster::Style::Sichtbar);
- unregistrierung->setRahmenBreite(2);
- unregistrierung->setAlphaFeldFarbe(0x5500FF00);
- unregistrierung->setAlphaFeldStrength(-5);
- }
- bool Unregistrierung::nameTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- name->removeStyle(TextFeld::Style::Fokus);
- passwort->addStyle(TextFeld::Style::Fokus);
- passwort->setAuswahl(0, passwort->zText()->getLength());
- }
- if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Unregistrierung::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Press)
- passwort->setSchowChar('*');
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- passwort->removeStyle(TextFeld::Style::Fokus);
- geheimnis->addStyle(TextFeld::Style::Fokus);
- geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
- }
- if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Unregistrierung::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Release && te.taste == T_Enter)
- {
- geheimnis->removeStyle(TextFeld::Style::Fokus);
- MausEreignis me;
- me.id = ME_RLinks;
- weiterME(0, me);
- }
- int selCount = 0;
- for (int i = 0; i < geheimnis->zText()->getLength(); i++)
- selCount += (int)geheimnis->isCharSelected(i);
- if (geheimnis->zText()->getLength() - selCount >= 50 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Unregistrierung::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
- {
- if (me.id == ME_RLinks)
- {
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- if (weiter->zText()->istGleich("Ok"))
- {
- text->removeStyle(TextFeld::Style::Sichtbar);
- weiter->setPosition(74, 110);
- weiter->setText("Weiter");
- fenster->setSize(250, 170);
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85);
- fenster->setTitel("Account remove");
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- else
- {
- if (weiter->zText()->istGleich("Ok"))
- {
- if (fenster->zTitel()->istGleich("Account remove"))
- {
- text->removeStyle(TextFeld::Style::Sichtbar);
- fenster->setSize(250, 170);
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85);
- weiter->setPosition(74, 110);
- weiter->setText("Weiter");
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- else
- {
- fenster->setSize(250, 200);
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100);
- weiter->setPosition(20, 115);
- weiter->setText("Ok");
- text->setText("Dir wurde eine E-Mail mit einem\nLink zur Bestätigung zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst.");
- }
- }
- else
- {
- if (name->zText()->getLength() == 0 ||
- passwort->zText()->getLength() == 0 ||
- geheimnis->zText()->getLength() == 0)
- {
- if (name->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe deinen Accountnamen\nein.");
- else if (passwort->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe dein Accountpasswort\nein.");
- else if (geheimnis->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe dein Accountgeheimnis\nein.");
- return 1;
- }
- new AktionsThread(17, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0);
- }
- }
- }
- return 1;
- }
- bool Unregistrierung::unregistrierungME(void* obj, MausEreignis me) // MausEreignis im Knopf unregistrierung
- {
- if (me.id == ME_RLinks)
- {
- vorLogin->setUnregistrierung();
- fenster->addStyle(Fenster::Style::Sichtbar);
- unregistrierung->setRahmenBreite(3);
- unregistrierung->setAlphaFeldFarbe(0xFF000000);
- unregistrierung->setAlphaFeldStrength(20);
- text->removeStyle(TextFeld::Style::Sichtbar);
- weiter->setPosition(74, 110);
- weiter->setText("Weiter");
- fenster->setTitel("Account remove");
- fenster->setSize(250, 170);
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85);
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- return 1;
- }
- void Unregistrierung::setWeiterReturn(bool ret) // setzt den Weiter Returnwert
- {
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- if (ret)
- {
- name->removeStyle(TextFeld::Style::Sichtbar);
- passwort->removeStyle(TextFeld::Style::Sichtbar);
- geheimnis->removeStyle(TextFeld::Style::Sichtbar);
- fenster->setTitel("Account deaktiveren");
- fenster->setSize(250, 200);
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100);
- weiter->setPosition(20, 115);
- weiter->setText("Ok");
- text->setText("Dir wurde eine E-Mail mit einem\nLink zur Bestätigung zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst.");
- text->addStyle(TextFeld::Style::Sichtbar);
- }
- else if (lastError.getLength())
- zeigeNachricht(lastError);
- }
- void Unregistrierung::setFertigReturn(bool ret) // setzt den Fertig Returnwert
- {
- if (ret)
- vorLogin->setLogin(0);
- else
- zeigeNachricht(lastError);
- }
- // Ereignisse
- bool unregistrierungNameTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Unregistrierung*)p)->nameTE(obj, te);
- }
- bool unregistrierungPasswortTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Unregistrierung*)p)->passwortTE(obj, te);
- }
- bool unregistrierungGeheimnisTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Unregistrierung*)p)->geheimnisTE(obj, te);
- }
- bool unregistrierungWeiterME(void* p, void* obj, MausEreignis me)
- {
- if (!p)
- return 0;
- return ((Unregistrierung*)p)->weiterME(obj, me);
- }
- bool unregistrierungUnregistrierungME(void* p, void* obj, MausEreignis me)
- {
- if (!p)
- return 0;
- return ((Unregistrierung*)p)->unregistrierungME(obj, me);
- }
|