From d7eb71dc931c812b57d39566f71069a51cb66f4d Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 1 May 2023 17:21:47 -0400 Subject: Initial commit --- .gitignore | 1 + CMakeLists.txt | 15 +++++++++++++++ main.cpp | 18 ++++++++++++++++++ tracker_frame.cpp | 29 +++++++++++++++++++++++++++++ tracker_frame.h | 19 +++++++++++++++++++ 5 files changed, 82 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 main.cpp create mode 100644 tracker_frame.cpp create mode 100644 tracker_frame.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..dffa7ab --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required (VERSION 3.1) +project (lingo_ap_tracker) + +set(CMAKE_BUILD_TYPE Debug) + +find_package(wxWidgets COMPONENTS core base) +include(${wxWidgets_USE_FILE}) + +add_executable(lingo_ap_tracker + main.cpp + tracker_frame.cpp +) +set_property(TARGET lingo_ap_tracker PROPERTY CXX_STANDARD 17) +set_property(TARGET lingo_ap_tracker PROPERTY CXX_STANDARD_REQUIRED ON) +target_link_libraries(lingo_ap_tracker ${wxWidgets_LIBRARIES}) diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..940fecc --- /dev/null +++ b/main.cpp @@ -0,0 +1,18 @@ +#include + +#ifndef WX_PRECOMP +#include +#endif + +#include "tracker_frame.h" + +class TrackerApp : public wxApp { +public: + virtual bool OnInit() { + TrackerFrame *frame = new TrackerFrame(); + frame->Show(true); + return true; + } +}; + +wxIMPLEMENT_APP(TrackerApp); diff --git a/tracker_frame.cpp b/tracker_frame.cpp new file mode 100644 index 0000000..83f42a6 --- /dev/null +++ b/tracker_frame.cpp @@ -0,0 +1,29 @@ +#include "tracker_frame.h" + +TrackerFrame::TrackerFrame() + : wxFrame(nullptr, wxID_ANY, "Lingo Archipelago Tracker") { + wxMenu *menuFile = new wxMenu(); + menuFile->Append(wxID_EXIT); + + wxMenu *menuHelp = new wxMenu(); + menuHelp->Append(wxID_ABOUT); + + wxMenuBar *menuBar = new wxMenuBar(); + menuBar->Append(menuFile, "&File"); + menuBar->Append(menuHelp, "&Help"); + + SetMenuBar(menuBar); + + CreateStatusBar(); + SetStatusText("Not connected to Archipelago."); + + Bind(wxEVT_MENU, &TrackerFrame::OnAbout, this, wxID_ABOUT); + Bind(wxEVT_MENU, &TrackerFrame::OnExit, this, wxID_EXIT); +} + +void TrackerFrame::OnAbout(wxCommandEvent &event) { + wxMessageBox("Lingo Archipelago Tracker by hatkirby", + "About lingo-ap-tracker", wxOK | wxICON_INFORMATION); +} + +void TrackerFrame::OnExit(wxCommandEvent &event) { Close(true); } diff --git a/tracker_frame.h b/tracker_frame.h new file mode 100644 index 0000000..60ded2e --- /dev/null +++ b/tracker_frame.h @@ -0,0 +1,19 @@ +#ifndef TRACKER_FRAME_H_86BD8DFB +#define TRACKER_FRAME_H_86BD8DFB + +#include + +#ifndef WX_PRECOMP +#include +#endif + +class TrackerFrame : public wxFrame { +public: + TrackerFrame(); + +private: + void OnExit(wxCommandEvent &event); + void OnAbout(wxCommandEvent &event); +}; + +#endif /* end of include guard: TRACKER_FRAME_H_86BD8DFB */ -- cgit 1.4.1