include ( ../ananas.pri )
SOURCES += main.cpp \
- ananasmainform.cpp \
- aminicalc.cpp
-HEADERS += ananasmainform.h \
- aminicalc.h
+ ananasmainform.cpp
+HEADERS += ananasmainform.h
+
+
#load(qsa)
#FORMS = qadocjournal.ui
IMAGES = images/a-system.png \
- images/calc.png \
images/msg_info.png \
images/msg_warning.png \
images/msg_error.png \
images/lib_database.png \
images/lib_dbgroup.png \
images/ananas-32x32.png
+
+IMAGES += images/calc.png
+
TEMPLATE =app
#include "ananasmainform.h"
#include "ananas.h"
-#include "aminicalc.h"
MainForm *mainform=NULL;
QWorkspace *mainformws=NULL;
MainForm::initMenuBar()
{
QPopupMenu *m;
- QPopupMenu *s;
m = new QPopupMenu();
- s = new QPopupMenu();
windowsMenu = new QPopupMenu();
connect( windowsMenu, SIGNAL( aboutToShow() ),
this, SLOT( windowsMenuAboutToShow() ) );
m->insertItem(rcIcon("ananas-32x32.png"), tr( "About" ), this, SLOT( helpAbout() ), Key_F11);
- s->insertItem(rcIcon("calc.png"), tr( "Calculator" ), this, SLOT( miniCalc() ), Key_F10);
+ m->insertItem(rcIcon("calc.png"), tr( "Calculator" ), this, SLOT( miniCalc() ), Key_F10);
//windowsMenu->insertItem(rcIcon("ananas-32x32.png"), tr( "Windows" ), this, SLOT( windowsMenuAboutToShow() ));
menubar = new AMenuBar( md, this, "menubar");
- InsertMainMenu( tr("&Tools"), s );
InsertMainMenu( tr("&Help"), m );
InsertMainMenu( tr("&Windows"), windowsMenu );
menuBar()->show();
void
MainForm::miniCalc()
{
- MiniCalc *calc = new MiniCalc(ws, "MiniCalc", false, 0);
- calc->show();
+ const QString code = "var calc= new Calc(); calc.Show();";
+ engine->project.interpreter()->evaluate(code);
}
SUBDIRS +=aextsql
SUBDIRS +=service
SUBDIRS +=dateservice
+SUBDIRS +=minicalc
--- /dev/null
+#include "acalc.h"
+
+/**
+ *\en
+ * \brief
+ *
+ *\_en
+ *\ru
+ * \brief
+ *
+ *\_ru
+ */
+aCalc::aCalc(): AExtension("Calc")
+{
+ calcInstance = new MiniCalc();
+}
+
+/**
+ *\en
+ * \brief Destructor
+ *\_en
+ *\ru
+ * \brief Деструктор
+ *\_ru
+ */
+aCalc::~aCalc()
+{
+ if (calcInstance) {
+ delete calcInstance;
+ calcInstance = 0;
+ }
+}
+
+
+/**
+ *\en
+ * \brief Destructor
+ *\_en
+ *\ru
+ * \brief Деструктор
+ *\_ru
+ */
+void
+aCalc::Show()
+{
+ if ( calcInstance )
+ {
+ calcInstance->show();
+ }
+}
+
+
+#include <aextensionplugin.h>
+typedef AExtensionPlugin<aCalc> aCalcPlugin;
+A_EXPORT_PLUGIN( aCalcPlugin )
--- /dev/null
+#ifndef ACALC_H
+#define ACALC_H
+
+#include "aextension.h"
+#include "aminicalc.h"
+
+class ANANAS_EXPORT aCalc : public AExtension
+{
+ Q_OBJECT
+ public:
+ aCalc();
+ ~aCalc();
+
+ public slots:
+ void Show();
+
+ protected:
+ MiniCalc* calcInstance;
+}
+
+#endif // ACALC_H
#include <qpalette.h>
#include <math.h>
+
+
/*
* Constructs a MiniCalc as a child of 'parent', with the
* name 'name' and widget flags set to 'f'.
class QLineEdit;
class QLabel;
+
class MiniCalc : public QDialog
{
Q_OBJECT
--- /dev/null
+#include "calc.h"
+
+/**
+ *\en
+ * \brief Constructor that create object aDateService for use in ananas script.
+ *
+ * Constructs current date object.
+ *\_en
+ *\ru
+ * \brief Конструктор, который создает aDateService для работы в ананас скрипте.
+ *
+ * Создается объект с текущей датой.
+ *\_ru
+ */
+aCalc::aCalc(): AExtension("Calc")
+{
+ QDate date = QDate::currentDate();
+ calcInstance = new MiniCalc();
+}
+
--- /dev/null
+#ifndef ACALC_H
+#define ACALC_H
+
+#include <qdatetime.h>
+#include "aextension.h"
+#include "aminicalc.h"
+
+class ANANAS_EXPORT aCalc : public AExtension
+{
+ Q_OBJECT
+ public:
+ aCalc();
+ ~aCalc();
+
+ public slots:
+ void Show();
+
+ protected:
+ MiniCalc* calcInstance;
+}
+
+#endif // ACALC_H
--- /dev/null
+TARGET = aextminicalc
+
+SOURCES += acalc.cpp aminicalc.cpp
+HEADERS += acalc.h aminicalc.h
+
+
+include ( ../../ananas.pri )
+
+shared {
+win32:DEFINES+= ANANAS_DLL
+} else {
+win32:DEFINES += ANANAS_NO_DLL
+}
+
+TEMPLATE =lib
+CONFIG += plugin
+
+INCLUDEPATH += ../../lib
+LIBS += -L../../lib -lananas
+
+LANGUAGE = C++
+win32:DESTDIR = ..
+
+unix{
+ libext.path = $(LIBDIR)/ananas
+ libext.files = libaextminicalc.so
+ INSTALLS += libext
+}
+