C++

Fermé
dj_kaies Messages postés 10 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 septembre 2011 - 2 sept. 2011 à 15:48
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 2 sept. 2011 à 16:11
Bonjour,

Bonjour..

Je suis un débutant depuis quelques semaines en langage C++. Sur mon récepteur Linux j'ai voulu crée un petit plugin. J'ai commencé à programmer ce petit plugin sur mon système Stinky Linux, en suivant quelques Tuto sur internet j'ai réussi à faire exécuter la première fenêtre de mon plugin sans erreur.
Bon maintenant j'ai voulu afficher une deuxième fenêtre avec le même contenu en cliquant sur la bouton "Start" mais j'ai pas su comment faire ou qu'est ce que je dois ajouter dans le code. Voici le Code de la premiere fenêtre qui marche:



// include files nedeed by our code.
#include <plugin.h>
#include <stdio.h>
#include <lib/gui/ewindow.h>
#include <lib/gui/elabel.h>
#include <lib/gui/ebutton.h>


// Window1.
// The Class declaration of our Main Window
class eBibleMainWindow: public eWindow
{
// the label to show the text
eLabel *label;
// the button
eButton *ok;
public:
// the constructor.
eBibleMainWindow();
// the destructor.
~eBibleMainWindow();
};


// The plugin entry point, Here start the code execution
extern "C" int plugin_exec( PluginParam *par )
{
// our demo dialog instance.
eBibleMainWindow dlg;
// show the dialog...
dlg.show();
// give control to dialog.. (the dialog is modal!)
int result=dlg.exec();
// and after it, hide it again.
dlg.hide();
return result;
}


eBibleMainWindow::eBibleMainWindow(): eWindow(1)
{

// move our dialog to 100.100...
cmove(ePoint(100, 100));
// ...and give x and y dimensions.
cresize(eSize(520, 320));
// set a title.
setText("My Plugin: Intro");


// create a label to show a text.
label=new eLabel(this);
// give a position
label->move(ePoint(95, 120));
// set the label dimensions
label->resize(eSize(350, 200));
// set the label text
label->setText("Bienvenue---Welcome---Willkommen");


// create the button
ok = new eButton(this);
// set the button text
ok->setText("Start");
// set position
ok->move(ePoint((clientrect.width() - 90)/2, clientrect.height() - 60));
// set size
ok->resize(eSize(90, 40));
// set shortcut and pixmap
ok->setShortcut("green");
ok->setShortcutPixmap("green");
// decore with a frame
ok->loadDeco();
// function to call when buton is pressed
CONNECT(ok->selected, eBibleMainWindow(): eWindow(1));
// set focus to the button
setFocus(ok);



}

eBibleMainWindow::~eBibleMainWindow()
{
// we have to do almost nothing here. all widgets are automatically removed
// since they are child of us. the eWidget-destructor will to this for us.
}






1 réponse

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
2 sept. 2011 à 16:11
Salut. C'est quoi ton récepteur Linux ? un truc eWindow genre cadre photo interactif ? (j'ai vu ça sur internet en cherchant ewindow)
Comme ce truc n'est pas standard et peu répendu, je pense que tu va avoir du mal à trouver une réponse.
En revanche, la logique semble similaire à d'autre bibliothèques de gui. Je te conseillerai de faire quelques petits tutoriels de "QT" et de revenir sur ton eWindow après. Entre les deux tu auras appris des choses.
0