Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***************************************************************
- * Name: wxkit16Main.cpp
- * Purpose: Code for Application Frame
- * Author: ()
- * Created: 2016-09-06
- * Copyright: ()
- * License:
- **************************************************************/
- #include "wxkit16Main.h"
- #include <wx/msgdlg.h>
- //(*InternalHeaders(wxkit16Frame)
- #include <wx/intl.h>
- #include <wx/string.h>
- //*)
- //helper functions
- enum wxbuildinfoformat {
- short_f, long_f };
- wxString wxbuildinfo(wxbuildinfoformat format)
- {
- wxString wxbuild(wxVERSION_STRING);
- if (format == long_f )
- {
- #if defined(__WXMSW__)
- wxbuild << _T("-Windows");
- #elif defined(__UNIX__)
- wxbuild << _T("-Linux");
- #endif
- #if wxUSE_UNICODE
- wxbuild << _T("-Unicode build");
- #else
- wxbuild << _T("-ANSI build");
- #endif // wxUSE_UNICODE
- }
- return wxbuild;
- }
- //(*IdInit(wxkit16Frame)
- const long wxkit16Frame::ID_TEXTCTRL1 = wxNewId();
- const long wxkit16Frame::ID_TEXTCTRL2 = wxNewId();
- const long wxkit16Frame::ID_TEXTCTRL3 = wxNewId();
- const long wxkit16Frame::ID_BUTTON1 = wxNewId();
- const long wxkit16Frame::idMenuQuit = wxNewId();
- const long wxkit16Frame::idMenuAbout = wxNewId();
- const long wxkit16Frame::ID_STATUSBAR1 = wxNewId();
- //*)
- BEGIN_EVENT_TABLE(wxkit16Frame,wxFrame)
- //(*EventTable(wxkit16Frame)
- //*)
- END_EVENT_TABLE()
- wxkit16Frame::wxkit16Frame(wxWindow* parent,wxWindowID id)
- {
- //(*Initialize(wxkit16Frame)
- wxMenuItem* MenuItem2;
- wxMenuItem* MenuItem1;
- wxMenu* Menu1;
- wxMenuBar* MenuBar1;
- wxMenu* Menu2;
- Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
- AritCtrl = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxPoint(8,8), wxSize(184,104), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL1"));
- AdatCtrl = new wxTextCtrl(this, ID_TEXTCTRL2, wxEmptyString, wxPoint(208,8), wxSize(184,104), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL2"));
- GepiCtrl = new wxTextCtrl(this, ID_TEXTCTRL3, wxEmptyString, wxPoint(8,120), wxSize(184,104), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL3"));
- Fordit = new wxButton(this, ID_BUTTON1, _("Label"), wxPoint(208,120), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
- MenuBar1 = new wxMenuBar();
- Menu1 = new wxMenu();
- MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL);
- Menu1->Append(MenuItem1);
- MenuBar1->Append(Menu1, _("&File"));
- Menu2 = new wxMenu();
- MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL);
- Menu2->Append(MenuItem2);
- MenuBar1->Append(Menu2, _("Help"));
- SetMenuBar(MenuBar1);
- StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
- int __wxStatusBarWidths_1[1] = { -1 };
- int __wxStatusBarStyles_1[1] = { wxSB_NORMAL };
- StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1);
- StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1);
- SetStatusBar(StatusBar1);
- Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxkit16Frame::OnForditClick);
- Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&wxkit16Frame::OnQuit);
- Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&wxkit16Frame::OnAbout);
- //*)
- }
- wxkit16Frame::~wxkit16Frame()
- {
- //(*Destroy(wxkit16Frame)
- //*)
- }
- void wxkit16Frame::OnQuit(wxCommandEvent& event)
- {
- Close();
- }
- void wxkit16Frame::OnAbout(wxCommandEvent& event)
- {
- wxString msg = wxbuildinfo(long_f);
- wxMessageBox(msg, _("Welcome to..."));
- }
- void wxkit16Frame::OnForditClick(wxCommandEvent& event)
- {
- int regiszterek = 0;
- int parhuzamos_muveletek = 0;
- bool contains = true;
- bool nagybetu_hiba = false;
- bool szam_hiba = false;
- bool kisbetu_hiba=false;
- bool muveletijel_hiba=false;
- bool ertelmetlen_kifejezes=false;
- std::map<std::string, std::string> egyenletek = beolvas(AritCtrl, regiszterek, parhuzamos_muveletek, szam_hiba, nagybetu_hiba, kisbetu_hiba, contains);
- std::map<std::string, std::vector<Token> > infixtokenegyenletek = egyenletek2tokenegyenletek(egyenletek, ertelmetlen_kifejezes, muveletijel_hiba);
- if(szam_hiba) {
- wxString msg = "Nem adta meg a parhuzamosan vegezheto muveletek maximalis szamat!";
- wxMessageBox(msg, _("Hibauzenet"));
- }else if(nagybetu_hiba) {
- wxString msg = "Hibas kifejezes";
- wxMessageBox(msg, _("Hibauzenet"));
- }else if(kisbetu_hiba) {
- wxString msg = "Hibas aritmtikai kifejezes: Nagybetu van az aritmetikai kifejezesben.";
- wxMessageBox(msg, _("Hibauzenet"));
- } else if(ertelmetlen_kifejezes) {
- wxString msg = "Hibas aritmetikai kifejezes: Az aritmetikai kifejezes ertelmetlen.";
- wxMessageBox(msg, _("Hibauzenet"));
- }
- else if(muveletijel_hiba) {
- wxString msg = "Hibas aritmtikai kifejezes: Hibas muveleti jel hasznalat.";
- wxMessageBox(msg, _("Hibauzenet"));
- } else {
- std::map<std::string, std::vector<Token> > postfixtokenegyenletek = infixtoken2postfixtoken(infixtokenegyenletek);
- AdatCtrl->SetValue(tokenkiiratas(postfixtokenegyenletek));
- std::map<std::string, ExpNode* > exptrees = postfixtoken2exptree(postfixtokenegyenletek);
- std::list<ExpNode*> commonExpressions;
- std::cout << std::endl;
- sokfabejaras(exptrees);
- std::cout << std::endl;
- expTreeAnalyse(exptrees, commonExpressions);
- char antireg='0';
- char memo='0';
- GepiCtrl->SetValue(kiir(exptrees, commonExpressions,parhuzamos_muveletek, regiszterek, antireg,memo));
- }
- }
Add Comment
Please, Sign In to add comment