Hallo zusammen,
stehe wiedermal vor einem hofftlich kleinen Problem. Ich würde gern einen String
auf das LCD Display ausgeben und natürlich auch ändern.
Wie kann ich denn sowas anstellen?
Danke+Grüße
tYREL
Hallo zusammen,
stehe wiedermal vor einem hofftlich kleinen Problem. Ich würde gern einen String
auf das LCD Display ausgeben und natürlich auch ändern.
Wie kann ich denn sowas anstellen?
Danke+Grüße
tYREL
Hatte ich vorher ganz vergessen, damit ihr seht, wie weit ich gekommen bin.
So habe ich versucht etwas aufs LCD-Display zu bekommen.
class eZapMyLCDdreamCAST: public eWidget
{
public:
eLabel *Title;
eWidget *Element;
eZapMyLCDdreamCAST(eWidget *parent);
};
class eZapMyLCD: public eWidget
{
static eZapMyLCD* instance;
public:
static eZapMyLCD* getInstance() { return instance; }
eZapMyLCDdreamCAST* lcddreamCAST;
eZapMyLCD();
~eZapMyLCD();
};
// Dialog eDeamCAST
class eShowInfo : public eWindow {
eLabel *lb1,*lb2, *lb3,*lb4,*lb5;
eZapMyLCD myLCD;
void eShowInfo::showPic();
public:
eShowInfo(); // the constructor.
~eShowInfo(); // the destructor.
};
........
// I treyed to put the Text in the display like that
myLCD.lcddreamCAST->Title->setText("dreamCAST");
Alles anzeigen
kompilieren brachte keine Fehler.
Dafür habe ich aber von Enigma diesen Fehler bekommen:
müsste in enigma_lcd.cpp zu finden sein. kannst evtl. gleich machen, wie in enigma_main.cpp mit dem sendernamen.
Hi dre,
naja eigentlich war ich der Meinung, dass ich so es gemacht habe wie in enigma_main.h und enigma_lcd.h und auch entsprechend übernommen, aber wohl eher nicht.
ich weiss nicht genau, warum ein symbol fehlen soll. weil das plugin kompiliert ja ohne fehler durch. ich habe ja heute abend noch eine weile zeit, mal sehen was ich noch hinbekomme
sorry, war zu langsam mit meiner letzten antwort. was geschieht, wenn du einfach die enigma_lcd.h includest?
dann solltest du doch die Definitionen von dort verwenden können.
in class eShowInfo
eZapLCD lcdmain;
in eShowInfo
lcdmain.lcdMenu->Title->setText("blabla");
ïst wieder mal nur geraten.
hi,
hatte ich ganz zu anfang probiert. wenn das plugin aufgerufen wird, passiert nichts.
und wenn man nach verlassen nochmals ins plugin menu wechselt, schmiert enigma ab.
darum habe ich versucht die klassen alle nochmals zu definieren und dann das lcd anzusprechen. bis jetzt leider erfolglos.
ich poste mal den code. wäre schön wenn wir das Problem gelöst bekommen könnten.
/*******************************************************************************
* showInfo - Test
*******************************************************************************/
#include <plugin.h>
#include <stdio.h>
#include <stdlib.h>
#include <lib/gui/ewindow.h>
#include <lib/gui/ebutton.h>
#include <lib/gui/emessage.h>
#include <lib/gui/listbox.h>
#include <iostream>
#include <sys/types.h>
#include <sys/dir.h>
#include <dirent.h>
#include <stdlib.h>
#include <lib/base/console.h>
#include <lib/dvb/service.h>
#include </home/Tom/DreamboxCVS/apps/tuxbox/enigma/src/enigma.h>
#include </home/Tom/DreamboxCVS/apps/tuxbox/enigma/src/enigma_main.h>
#include <map>
#include <time.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <linux/if_ether.h>
#include <linux/input.h>
#include <iomanip>
#include <iostream>
#include <fstream>
#include <timer.h>
#include <enigma_plugins.h>
#include <enigma_standby.h>
#include <sselect.h>
#include <upgrade.h>
#include <math.h>
#include <lib/dvb/frontend.h>
#include <lib/driver/eavswitch.h>
#include <lib/dvb/dvb.h>
#include <lib/dvb/edvb.h>
#include <lib/dvb/epgcache.h>
#include <lib/dvb/servicestructure.h>
#include <lib/dvb/decoder.h>
#include <lib/dvb/dvbservice.h>
#include <lib/dvb/service.h>
#include <lib/dvb/record.h>
#include <lib/dvb/serviceplaylist.h>
#include <lib/gdi/fb.h>
#include <lib/gdi/lcd.h>
#include <lib/gdi/glcddc.h>
#include <lib/gdi/gfbdc.h>
#include <lib/gdi/epng.h>
#include <lib/gui/emessage.h>
#include <lib/system/http_dyn.h>
#include <lib/system/econfig.h>
#include <lib/system/info.h>
#include <lib/system/dmfp.h>
#include <enigma_dyn.h>
#include <enigma_dyn_utils.h>
#include <epgwindow.h>
#include <streaminfo.h>
using namespace std;
extern "C" int plugin_exec( PluginParam *par );
class eZapMyLCDdreamCAST;
class eZapMyLCD: public eWidget {
static eZapMyLCD* instance;
public:
static eZapMyLCD* getInstance() { return instance; }
eZapMyLCDdreamCAST* lcddreamCAST;
eZapMyLCD();
~eZapMyLCD();
};
class eZapMyLCDdreamCAST: public eWidget {
public:
eLabel *Title;
eWidget *Element;
eZapMyLCDdreamCAST(eWidget *parent);
};
eZapMyLCD* eZapMyLCD::instance;
eZapMyLCD::eZapMyLCD()
:eWidget(eZap::getInstance()->getDesktop(eZap::desktopLCD))
{
instance = this;
move(ePoint(0, 0));
cresize(eSize(140, 64));
lcddreamCAST = new eZapMyLCDdreamCAST(this);
}
eZapMyLCD::~eZapMyLCD() {
delete lcddreamCAST;
}
eZapMyLCDdreamCAST::eZapMyLCDdreamCAST(eWidget *parent)
:eWidget(parent, 0)
{
Title = new eLabel(this);
Title->setName("dreamcast");
Title->show();
}
// Dialog eDeamCAST
class eShowInfo : public eWindow {
//private:
eLabel *lb1;
eZapMyLCD myLCD;
public:
eShowInfo(); // the constructor.
~eShowInfo(); // the destructor.
};
int plugin_exec( PluginParam *par ) {
eShowInfo myShowInfo; // our demo dialog instance.
myShowInfo.show(); // show the dialog...
int result=myShowInfo.exec(); // give control to dialog.. (the dialog is modal!)
myShowInfo.hide();
return 0;
}
/*****************************************************************************
* myShowInfo
* Fenster wird aufgebaut
*****************************************************************************/
eShowInfo::eShowInfo(): eWindow(1) {
cmove(ePoint(70, 60));
cresize(eSize(560, 460));
setText("showInfo");
// Label
lb1=new eLabel(this);
lb1->move(ePoint(10, 10));
lb1->resize(eSize(400, 30));
lb1->loadDeco();
lb1->setText("Label 1");
myLCD.lcddreamCAST->Title->setName("foo");
// myLCD.lcddreamCAST->Title->setText("foo");
// myLCD.setLCD(myLCD.lcddreamCAST->Title, myLCD.lcddreamCAST->Element);
// myLCD.lcddreamCAST->Title->show();
myLCD.lcddreamCAST->show();
// myLCD.show();
}
eShowInfo::~eShowInfo() { }
//EOF
Alles anzeigen