Code: Select all
#include "GISALTMain.h"
#include <wx/msgdlg.h>
//(*InternalHeaders(GISALTFrame)
#include <wx/settings.h>
#include <wx/intl.h>
#include <wx/string.h>
//*)
#include <wx/dcmemory.h>
#include <wx/dcbuffer.h>
#include "wx/image.h"
wxArrayString IMG_PATHS;
wxString TXT_PATH;
wxString OUT_PATH;
void OnLeftDown2(/*wxMouseEvent& event*/)
{
//StaticText1->SetLabel(_T("LeftDown"));
MessageBoxA(0,"","",0);
}
//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(GISALTFrame)
const long GISALTFrame::ID_BUTTON6 = wxNewId();
const long GISALTFrame::ID_BUTTON7 = wxNewId();
const long GISALTFrame::ID_STATICTEXT1 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON1 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON2 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON3 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON4 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON5 = wxNewId();
const long GISALTFrame::ID_TOGGLEBUTTON6 = wxNewId();
const long GISALTFrame::ID_BUTTON5 = wxNewId();
const long GISALTFrame::ID_STATICBITMAP1 = wxNewId();
const long GISALTFrame::ID_STATICTEXT8 = wxNewId();
//*)
BEGIN_EVENT_TABLE(GISALTFrame,wxFrame)
//(*EventTable(GISALTFrame)
//*)
END_EVENT_TABLE()
GISALTFrame::GISALTFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(GISALTFrame)
wxBoxSizer* BoxSizer4;
wxBoxSizer* BoxSizer6;
wxBoxSizer* BoxSizer2;
wxBoxSizer* BoxSizer1;
wxBoxSizer* BoxSizer3;
Create(parent, wxID_ANY, _("GIS"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
BoxSizer1 = new wxBoxSizer(wxVERTICAL);
BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
Button6 = new wxButton(this, ID_BUTTON6, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON6"));
BoxSizer2->Add(Button6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Button7 = new wxButton(this, ID_BUTTON7, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON7"));
BoxSizer2->Add(Button7, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Label"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
BoxSizer2->Add(StaticText1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer1->Add(BoxSizer2, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
ToggleButton1 = new wxToggleButton(this, ID_TOGGLEBUTTON1, _("Карта 1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON1"));
BoxSizer6->Add(ToggleButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ToggleButton2 = new wxToggleButton(this, ID_TOGGLEBUTTON2, _("Карта 2"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON2"));
BoxSizer6->Add(ToggleButton2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ToggleButton3 = new wxToggleButton(this, ID_TOGGLEBUTTON3, _("Сдвиг и поворот"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON3"));
BoxSizer6->Add(ToggleButton3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ToggleButton4 = new wxToggleButton(this, ID_TOGGLEBUTTON4, _("Аффинное"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON4"));
BoxSizer6->Add(ToggleButton4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ToggleButton5 = new wxToggleButton(this, ID_TOGGLEBUTTON5, _("Проективное"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON5"));
BoxSizer6->Add(ToggleButton5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ToggleButton6 = new wxToggleButton(this, ID_TOGGLEBUTTON6, _("Квадратичное"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TOGGLEBUTTON6"));
BoxSizer6->Add(ToggleButton6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Button5 = new wxButton(this, ID_BUTTON5, _("Вычислить"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON5"));
BoxSizer6->Add(Button5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer1->Add(BoxSizer6, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
StaticBitmap1 = new wxStaticBitmap(this, ID_STATICBITMAP1, wxNullBitmap, wxDefaultPosition, wxSize(760,243), 0, _T("ID_STATICBITMAP1"));
StaticBitmap1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRADIENTINACTIVECAPTION));
BoxSizer4->Add(StaticBitmap1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer1->Add(BoxSizer4, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
StaticText8 = new wxStaticText(this, ID_STATICTEXT8, _("Label"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
BoxSizer3->Add(StaticText8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
BoxSizer1->Add(BoxSizer3, 0, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5);
SetSizer(BoxSizer1);
BoxSizer1->Fit(this);
BoxSizer1->SetSizeHints(this);
Connect(ID_BUTTON6,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&GISALTFrame::OnButton6Click);
//Connect(ID_STATICBITMAP1,wxEVT_KEY_UP,(wxObjectEventFunction)&GISALTFrame::OnKeyUp);
//Connect(ID_STATICBITMAP1,wxEVT_LEFT_DOWN,(wxObjectEventFunction)&GISALTFrame::OnLeftDown);
//Connect(ID_STATICBITMAP1,wxEVT_MOTION,(wxObjectEventFunction)&GISALTFrame::OnMouseMove);
//*)
//Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( OnLeftDown2 ), NULL, this );
//Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( GISALTFrame::OnLeftDown ), NULL, this );
Connect( wxID_ANY, wxEVT_LEFT_DOWN, wxMouseEventHandler( GISALTFrame::OnLeftDown ) );
}
GISALTFrame::~GISALTFrame()
{
//(*Destroy(GISALTFrame)
//*)
}
void GISALTFrame::OnQuit(wxCommandEvent& event)
{
Close();
}
void GISALTFrame::OnAbout(wxCommandEvent& event)
{
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}
void GISALTFrame::OnButton6Click(wxCommandEvent& event)
{
wxImage image;
if (image.LoadFile(_T("C:\\asd.png")))
{
wxMemoryDC memDC;
wxBufferedPaintDC sssd(this);
wxBitmap bitmap(image.GetWidth(), image.GetHeight());
memDC.SelectObject(bitmap);
memDC.SetBackground(*wxWHITE_BRUSH);
memDC.Clear();
memDC.DrawBitmap(image, 0, 0, false);
StaticBitmap1->SetBitmap(bitmap);
memDC.SelectObject(wxNullBitmap);
//bitmap.SaveFile(tmp_path,wxBITMAP_TYPE_JPEG);
}
image.Destroy();
}
void GISALTFrame::OnMouseMove(wxMouseEvent& event)
{
StaticText1->SetLabel(_T("MouseMove"));
}
void GISALTFrame::OnKeyUp(wxKeyEvent& event)
{
StaticText1->SetLabel(_T("KeyUp"));
}
void GISALTFrame::OnLeftDown(wxMouseEvent& event)
{
StaticText1->SetLabel(_T("LeftDown"));
}