Horizon
renumber_pads_window.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <array>
4 #include <set>
5 #include "util/uuid.hpp"
6 #include "tool_window.hpp"
7 
8 namespace horizon {
9 
11 public:
12  RenumberPadsWindow(Gtk::Window *parent, class ImpInterface *intf, class Package &pkg, const std::set<UUID> &pads);
13 
14  const std::vector<class Pad *> &get_pads_sorted();
15  void renumber();
16 
17 private:
18  class Package &pkg;
19  std::set<class Pad *> pads;
20 
21  bool circular = false;
22  bool x_first = true;
23  bool down = true;
24  bool right = true;
25  enum class Origin { TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT };
26  bool clockwise = false;
27  Origin circular_origin = Origin::TOP_LEFT;
28 
29  Gtk::Entry *entry_prefix = nullptr;
30  Gtk::SpinButton *sp_start = nullptr;
31  Gtk::SpinButton *sp_step = nullptr;
32  std::set<Gtk::Widget *> widgets_circular;
33  std::set<Gtk::Widget *> widgets_axis;
34 
35 
36  std::vector<Pad *> pads_sorted;
37 };
38 } // namespace horizon
Definition: imp_interface.hpp:12
Definition: package.hpp:29
Definition: renumber_pads_window.hpp:10
Definition: tool_window.hpp:7