|
@@ -1,86 +1,105 @@
|
|
|
-#include <XML.h>
|
|
|
-#include <TextFeld.h>
|
|
|
+#include "Dialog.h"
|
|
|
+
|
|
|
+#include <DateiSystem.h>
|
|
|
#include <TastaturEreignis.h>
|
|
|
+#include <TextFeld.h>
|
|
|
+#include <XML.h>
|
|
|
|
|
|
-#include "Dialog.h"
|
|
|
-#include "InventoryView.h"
|
|
|
-#include "Equipment.h"
|
|
|
#include "CraftingGrid.h"
|
|
|
#include "CraftingRecipies.h"
|
|
|
+#include "Equipment.h"
|
|
|
+#include "Globals.h"
|
|
|
+#include "InventoryView.h"
|
|
|
#include "RecipieIngredient.h"
|
|
|
#include "RecipieOutput.h"
|
|
|
#include "ShapedRecipie.h"
|
|
|
#include "UnshapedRecipie.h"
|
|
|
-#include "Globals.h"
|
|
|
|
|
|
using namespace Framework;
|
|
|
|
|
|
-UIMLDialog::UIMLDialog(Framework::Text uiml, std::function<void(UIMLDialog* self)> onClose)
|
|
|
- : Fenster()
|
|
|
+UIMLDialog::UIMLDialog(
|
|
|
+ Framework::Text uiml, std::function<void(UIMLDialog* self)> onClose)
|
|
|
+ : Fenster()
|
|
|
{
|
|
|
- XML::Element* xml = new XML::Element(uiml);
|
|
|
- view = new UIMLView("<v/>", uiFactory);
|
|
|
- view->setStyle(UIMLView::Style::Erlaubt | UIMLView::Style::Sichtbar);
|
|
|
- view->setMausEreignis(_ret1ME);
|
|
|
- view->addKnownElement(new InventoryElement());
|
|
|
- view->addKnownElement(new EquipmentElement());
|
|
|
- view->addKnownElement(new CraftingGridElement());
|
|
|
+ XML::Element* xml = new XML::Element(uiml);
|
|
|
+ view = new UIMLView("<v/>", uiFactory);
|
|
|
+ view->setStyle(UIMLView::Style::Erlaubt | UIMLView::Style::Sichtbar);
|
|
|
+ view->setMausEreignis(_ret1ME);
|
|
|
+ view->addKnownElement(new InventoryElement());
|
|
|
+ view->addKnownElement(new EquipmentElement());
|
|
|
+ view->addKnownElement(new CraftingGridElement());
|
|
|
view->addKnownElement(new CraftingRecipiesElement());
|
|
|
view->addKnownElement(new RecipieIngredientElement());
|
|
|
view->addKnownElement(new RecipieOutputElement());
|
|
|
view->addKnownElement(new ShapedRecipieElement());
|
|
|
view->addKnownElement(new UnshapedRecipieElement());
|
|
|
- view->setUIML(xml);
|
|
|
- view->setSize((int)xml->getAttributeValue("width"), (int)xml->getAttributeValue("height"));
|
|
|
- name = xml->getAttributeValue("id");
|
|
|
- view->layout();
|
|
|
- if (!xml->hasAttribute("width"))
|
|
|
- {
|
|
|
+ view->setUIML(xml);
|
|
|
+ view->setSize((int)xml->getAttributeValue("width"),
|
|
|
+ (int)xml->getAttributeValue("height"));
|
|
|
+ name = xml->getAttributeValue("id");
|
|
|
+ view->layout();
|
|
|
+ if (!xml->hasAttribute("width"))
|
|
|
+ {
|
|
|
view->setSize(view->calculateContentSize().x, view->getHeight());
|
|
|
}
|
|
|
if (!xml->hasAttribute("height"))
|
|
|
{
|
|
|
view->setSize(view->getBreite(), view->calculateContentSize().y);
|
|
|
}
|
|
|
- addMember(view);
|
|
|
+ addMember(view);
|
|
|
+
|
|
|
+ LTDBDatei iconsDat;
|
|
|
+ iconsDat.setDatei(new Text("data/bilder/gui_icons.ltdb"));
|
|
|
+ iconsDat.leseDaten(0);
|
|
|
|
|
|
- setStyle(Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::BodyHAlpha | Fenster::Style::Beweglich | Fenster::Style::Titel | Fenster::Style::TitelHAlpha | Fenster::Style::Closable | Fenster::Style::ClosingHAlpha | Fenster::Style::ClosingKlickBuffer | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::ClosingHintergrund | Fenster::Style::MEIgnoreInside);
|
|
|
- setKBgFarbe(0xA0000000);
|
|
|
- setTBgFarbe(0xA0000000);
|
|
|
- setSBgFarbe(0xA0000000);
|
|
|
- setSize(view->getBreite() + 4, view->getHeight() + 24);
|
|
|
- setPosition(window->zBildschirm()->getBackBufferSize() / 2 - getSize() / 2);
|
|
|
- setRBreite(2);
|
|
|
- setClosingMe([onClose, this](void* p, void* o, MausEreignis me)
|
|
|
- {
|
|
|
- if (me.id == ME_RLinks)
|
|
|
- onClose(this);
|
|
|
- return 1;
|
|
|
- });
|
|
|
- setRFarbe(0xFF52525E);
|
|
|
- setTitel(xml->getAttributeValue("title"));
|
|
|
- setTSchriftZ(dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
|
|
|
- zTTextFeld()->setSize(0, 20);
|
|
|
- zTTextFeld()->addStyle(TextFeld::Style::Center);
|
|
|
- setTastaturEreignis(_ret1TE);
|
|
|
+ setStyle(
|
|
|
+ Fenster::Style::Sichtbar | Fenster::Style::Erlaubt
|
|
|
+ | Fenster::Style::Rahmen | Fenster::Style::BodyHAlpha
|
|
|
+ | Fenster::Style::Beweglich | Fenster::Style::Titel
|
|
|
+ | Fenster::Style::TitelHAlpha | Fenster::Style::Closable
|
|
|
+ | Fenster::Style::ClosingHAlpha | Fenster::Style::ClosingKlickBuffer
|
|
|
+ | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund
|
|
|
+ | Fenster::Style::ClosingHintergrund | Fenster::Style::MEIgnoreInside
|
|
|
+ | Style::ClosingBuffer | Style::ClosingHBild);
|
|
|
+ setKBgFarbe(0xA0000000);
|
|
|
+ setTBgFarbe(0xA0000000);
|
|
|
+ setSBgFarbe(0xA0000000);
|
|
|
+ setSize(view->getBreite() + 4, view->getHeight() + 24);
|
|
|
+ setPosition(window->zBildschirm()->getBackBufferSize() / 2 - getSize() / 2);
|
|
|
+ setRBreite(2);
|
|
|
+ setClosingMe([onClose, this](void* p, void* o, MausEreignis me) {
|
|
|
+ if (me.id == ME_RLinks) onClose(this);
|
|
|
+ return 1;
|
|
|
+ });
|
|
|
+ setRFarbe(0xFF52525E);
|
|
|
+ setTitel(xml->getAttributeValue("title"));
|
|
|
+ setTSchriftZ(
|
|
|
+ dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
|
|
|
+ zTTextFeld()->setSize(0, 20);
|
|
|
+ zTTextFeld()->addStyle(TextFeld::Style::Center);
|
|
|
+ setTastaturEreignis(_ret1TE);
|
|
|
+ setSAfStrength(10);
|
|
|
+ setSAfFarbe(0x5F9C0A0A);
|
|
|
+ setSBgBildZ(iconsDat.laden(0, new Text("close.png")));
|
|
|
+ setSKAfFarbe(0xFF9C0A0A);
|
|
|
+ setSKAfStrength(10);
|
|
|
}
|
|
|
|
|
|
-UIMLDialog::~UIMLDialog()
|
|
|
-{}
|
|
|
+UIMLDialog::~UIMLDialog() {}
|
|
|
|
|
|
void UIMLDialog::api(char* message)
|
|
|
{
|
|
|
- short idLen = *(short*)message;
|
|
|
- char* id = new char[idLen + 1];
|
|
|
- memcpy(id, message + 2, idLen);
|
|
|
- id[idLen] = 0;
|
|
|
- NetworkAPIProcessor* processor = dynamic_cast<NetworkAPIProcessor*>(view->zZeichnungById(id));
|
|
|
- if (processor)
|
|
|
- processor->api(message + 2 + idLen);
|
|
|
- delete[] id;
|
|
|
+ short idLen = *(short*)message;
|
|
|
+ char* id = new char[idLen + 1];
|
|
|
+ memcpy(id, message + 2, idLen);
|
|
|
+ id[idLen] = 0;
|
|
|
+ NetworkAPIProcessor* processor
|
|
|
+ = dynamic_cast<NetworkAPIProcessor*>(view->zZeichnungById(id));
|
|
|
+ if (processor) processor->api(message + 2 + idLen);
|
|
|
+ delete[] id;
|
|
|
}
|
|
|
|
|
|
const Framework::Text& UIMLDialog::getName() const
|
|
|
{
|
|
|
- return name;
|
|
|
+ return name;
|
|
|
}
|