Skip to content

Commit da9d984

Browse files
authored
Remove map (#15)
* remove 1 * remove rest
1 parent 56350d4 commit da9d984

7 files changed

+3
-955
lines changed

src/app.rs

+1-52
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,11 @@ use std::path::PathBuf;
22
#[cfg(target_arch = "wasm32")]
33
use std::{cell::RefCell, rc::Rc};
44

5-
use egui::Pos2;
65
use egui_notify::Toasts;
76
use serde::{Deserialize, Serialize};
87
use tes3::esp::Plugin;
98

10-
use crate::{
11-
get_unique_id, CompareData, EAppState, EModalState, EScale, EditData, MapData, PluginMetadata,
12-
};
13-
14-
#[derive(Debug, Clone, Copy)]
15-
pub struct ZoomData {
16-
pub drag_start: Pos2,
17-
pub drag_delta: Option<Pos2>,
18-
pub drag_offset: Pos2,
19-
20-
pub zoom: f32,
21-
pub zoom_delta: Option<f32>,
22-
}
23-
24-
impl Default for ZoomData {
25-
fn default() -> Self {
26-
Self {
27-
drag_start: Default::default(),
28-
drag_delta: Default::default(),
29-
drag_offset: Default::default(),
30-
zoom: 1.0,
31-
zoom_delta: Default::default(),
32-
}
33-
}
34-
}
9+
use crate::{get_unique_id, CompareData, EAppState, EModalState, EScale, EditData, PluginMetadata};
3510

3611
/// We derive Deserialize/Serialize so we can persist app state on shutdown.
3712
#[derive(Deserialize, Serialize)]
@@ -53,8 +28,6 @@ pub struct TemplateApp {
5328
pub edit_data: EditData,
5429
#[serde(skip)]
5530
pub compare_data: CompareData,
56-
#[serde(skip)]
57-
pub map_data: MapData,
5831

5932
// runtime ui
6033
#[serde(skip)]
@@ -66,9 +39,6 @@ pub struct TemplateApp {
6639
#[serde(skip)]
6740
pub modal_state: EModalState,
6841

69-
#[serde(skip)]
70-
pub zoom_data: ZoomData,
71-
7242
// wasm
7343
// https://github.com/ergrelet/resym/blob/e4d243eb9459211ade0c5bae16096712a0615b0b/resym/src/resym_app.rs
7444
/// Field used by wasm32 targets to store file information
@@ -89,7 +59,6 @@ impl Default for TemplateApp {
8959
last_directory: "/".into(),
9060
// runtime data
9161
compare_data: CompareData::default(),
92-
map_data: MapData::default(),
9362
edit_data: EditData::default(),
9463
// settings
9564
overwrite: false,
@@ -101,7 +70,6 @@ impl Default for TemplateApp {
10170
app_state: EAppState::default(),
10271
modal_state: EModalState::default(),
10372
modal_open: false,
104-
zoom_data: ZoomData::default(),
10573

10674
#[cfg(target_arch = "wasm32")]
10775
open_file_data: Rc::new(RefCell::new(None)),
@@ -196,9 +164,6 @@ impl TemplateApp {
196164
pub(crate) fn open_modal_window(&mut self, ui: &mut egui::Ui, modal: EModalState) {
197165
// cleanup
198166
self.compare_data = CompareData::default();
199-
let last_path = self.map_data.path.clone();
200-
self.map_data = MapData::default();
201-
self.map_data.path = last_path;
202167

203168
// disable ui
204169
ui.set_enabled(false);
@@ -213,20 +178,6 @@ impl TemplateApp {
213178
self.modal_open = false;
214179
self.modal_state = EModalState::None;
215180
}
216-
217-
/// Settings popup menu
218-
pub(crate) fn options_ui(&mut self, ui: &mut egui::Ui) {
219-
if ui.button("Refresh").clicked() {
220-
self.map_data.refresh_requested = true;
221-
}
222-
223-
ui.separator();
224-
ui.label("Overlays");
225-
ui.checkbox(&mut self.map_data.overlay_conflicts, "Show conflicts");
226-
ui.checkbox(&mut self.map_data.overlay_region, "Show regions");
227-
ui.checkbox(&mut self.map_data.overlay_travel, "Show travel");
228-
ui.checkbox(&mut self.map_data.tooltip_names, "Show tooltips");
229-
}
230181
}
231182

232183
impl eframe::App for TemplateApp {
@@ -244,15 +195,13 @@ impl eframe::App for TemplateApp {
244195
match self.modal_state {
245196
EModalState::None => panic!("ArgumentException"),
246197
EModalState::ModalCompareInit => self.update_modal_compare(ctx),
247-
EModalState::MapInit => self.update_modal_map(ctx),
248198
EModalState::Settings => self.update_settings(ctx),
249199
}
250200
} else {
251201
// other main ui views
252202
match self.app_state {
253203
EAppState::Main => self.update_edit_view(ctx),
254204
EAppState::Compare => self.update_compare_view(ctx, frame),
255-
EAppState::Map => self.update_map_view(ctx),
256205
}
257206
}
258207

src/app_ui.rs

+1-90
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use tes3::esp::Plugin;
22

3-
use crate::{get_cell_name, TemplateApp};
3+
use crate::TemplateApp;
44

55
const VERSION: &str = env!("CARGO_PKG_VERSION");
66

@@ -122,93 +122,4 @@ impl TemplateApp {
122122
self.conflict_compare_view(ui);
123123
});
124124
}
125-
126-
/// Main map view
127-
pub fn update_map_view(&mut self, ctx: &egui::Context) {
128-
// Top Panel
129-
let mut skip = false;
130-
egui::TopBottomPanel::top("top_panel_map").show(ctx, |ui| {
131-
egui::menu::bar(ui, |ui| {
132-
if self.map_data.refresh_requested {
133-
// exit
134-
self.open_modal_window(ui, crate::EModalState::MapInit);
135-
skip = true;
136-
}
137-
138-
if ui.button("Exit").clicked() {
139-
self.app_state = crate::EAppState::Main;
140-
skip = true;
141-
}
142-
});
143-
});
144-
145-
if skip {
146-
return;
147-
}
148-
149-
// Side Panel
150-
egui::SidePanel::right("side_panel_map").show(ctx, |ui| {
151-
// heading
152-
ui.heading("Cells");
153-
ui.separator();
154-
155-
// search bar
156-
ui.horizontal(|ui| {
157-
ui.label("Filter: ");
158-
ui.text_edit_singleline(&mut self.edit_data.search_text);
159-
});
160-
ui.separator();
161-
162-
// list of cells
163-
egui::ScrollArea::vertical().show(ui, |ui| {
164-
let mut ids: Vec<&String> = self.map_data.cell_ids.keys().collect::<Vec<_>>();
165-
ids.sort();
166-
167-
for key in ids.iter() {
168-
// TODO upper and lowercase search
169-
if !self.edit_data.search_text.is_empty()
170-
&& !key
171-
.to_lowercase()
172-
.contains(&self.edit_data.search_text.to_lowercase())
173-
{
174-
continue;
175-
}
176-
177-
if self.map_data.selected_id == key.to_string() {
178-
ui.visuals_mut().override_text_color = Some(egui::Color32::RED);
179-
} else {
180-
ui.visuals_mut().override_text_color = None;
181-
}
182-
183-
let response =
184-
ui.add(egui::Label::new(&(*key).clone()).sense(egui::Sense::click()));
185-
if response.clicked() {
186-
self.map_data.selected_id = key.to_string();
187-
}
188-
}
189-
});
190-
});
191-
192-
// footer
193-
egui::TopBottomPanel::bottom("bottom_panel").show(ctx, |ui| {
194-
// Status Bar
195-
ui.horizontal(|ui| {
196-
// map bounds
197-
ui.label(format!(
198-
"({},{}) - ({},{})",
199-
self.map_data.bounds_x.0,
200-
self.map_data.bounds_y.0,
201-
self.map_data.bounds_x.1,
202-
self.map_data.bounds_y.1
203-
));
204-
ui.separator();
205-
ui.label(get_cell_name(&self.map_data, self.map_data.hover_pos));
206-
});
207-
});
208-
209-
// Central Panel
210-
egui::CentralPanel::default().show(ctx, |ui| {
211-
self.map_view(ui);
212-
});
213-
}
214125
}

0 commit comments

Comments
 (0)