summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author0xNul <57599792+0xNul@users.noreply.github.com>2023-06-19 22:01:12 -0700
committer0xNul <57599792+0xNul@users.noreply.github.com>2023-06-19 22:01:12 -0700
commit9d620e9f3d81db6475122eee50518347b32c4732 (patch)
treea61cb3ce31871c551e7d37083b7ea5d0dd8fdaa1 /src
parent33c18a89176dfff1d9f78eba1ad8a09fe5568880 (diff)
changed layout
Diffstat (limited to 'src')
-rw-r--r--src/votann/current_list_widget.clj20
-rw-r--r--src/votann/event_handler.clj13
-rw-r--r--src/votann/list_widget.clj8
-rw-r--r--src/votann/point_chart_widget.clj2
-rw-r--r--src/votann/units_and_points_widget.clj40
5 files changed, 56 insertions, 27 deletions
diff --git a/src/votann/current_list_widget.clj b/src/votann/current_list_widget.clj
index 9f54f0a..b6915df 100644
--- a/src/votann/current_list_widget.clj
+++ b/src/votann/current_list_widget.clj
@@ -6,6 +6,7 @@
{:fx/type :v-box
:padding 5
:children [{:fx/type :label
+ :style "-fx-font-size: 16px; -fx-font-weight: bold;"
:text (:name unit)}
{:fx/type :h-box
:alignment :center-left
@@ -19,6 +20,7 @@
:points (:points unit)}}
:text "Remove"}
{:fx/type :label
+ :style "-fx-font-size: 16px;"
:text (str (:points unit) "pts")}]}]})))
(defn current-list-label-widget [{:keys [points]}]
@@ -30,23 +32,19 @@
:text "Current List"}
{:fx/type :h-box
:alignment :center
- :spacing 50
- :children [{:fx/type :button
- :on-mouse-clicked {:event/type :event/restart-click}
- :on-key-pressed {:event/type :event/restart-enter}
- :text "Restart"}
- {:fx/type :label
+ :spacing 5
+ :children [{:fx/type :label
:style "-fx-font-size: 18px; -fx-font-weight: bold;"
:text (str points " pts")}
{:fx/type :button
- :on-mouse-clicked {:event/type :event/undo-unit-click}
- :on-key-pressed {:event/type :event/undo-unit-enter}
- :text "Undo"}]}
- ]})
+ :on-mouse-clicked {:event/type :event/export-list-click}
+ :on-key-pressed {:event/type :event/export-list-enter}
+ :text "Export"}]}]})
(defn current-list-widget [{:keys [units]}]
{:fx/type :scroll-pane
+ :pref-height 860
+ :pref-width 300
:content {:fx/type :v-box
:alignment :top-center
- :pref-height 600
:children (current-list units)}})
diff --git a/src/votann/event_handler.clj b/src/votann/event_handler.clj
index 89d9795..6805d53 100644
--- a/src/votann/event_handler.clj
+++ b/src/votann/event_handler.clj
@@ -28,6 +28,10 @@
(swap! *list-units assoc :points (max 0 (- (:points @*list-units) (:points (:event/target e)))))
(swap! *list-units update :units #(vec (concat (subvec % 0 (:index (:event/target e))) (subvec % (inc (:index (:event/target e)))))))))
+(defn export-list [_]
+ (if-not (empty? (get-in @*list-units [:units]))
+ (spit (str (.toString (java.time.Instant/now)) ".list") @*list-units)))
+
(defn map-event-handler [e]
(cond (= :event/undo-unit-click (:event/type e))
(undo-points e)
@@ -51,4 +55,11 @@
(add-unit e)
(= :event/add-unit-enter (:event/type e))
- (enter-event add-unit e)))
+ (enter-event add-unit e)
+
+ (= :event/export-list-click (:event/type e))
+ (export-list e)
+
+ (= :event/export-list-enter (:event/type e))
+ (enter-event export-list e)
+ ))
diff --git a/src/votann/list_widget.clj b/src/votann/list_widget.clj
index efd751e..94cfb85 100644
--- a/src/votann/list_widget.clj
+++ b/src/votann/list_widget.clj
@@ -6,10 +6,10 @@
(defn left-widget [data]
{:fx/type :v-box
- :alignment :center
- :children [(point-chart-widget data) (current-list-label-widget data) (current-list-widget data)]})
+ :alignment :top-center
+ :children [(current-list-label-widget data) (current-list-widget data)]})
(defn list-view-widget [data]
{:fx/type :h-box
- :alignment :center
- :children [(left-widget data) unit-and-points-widget]})
+ :alignment :top-center
+ :children [(left-widget data) (point-chart-widget data) unit-and-points-widget]})
diff --git a/src/votann/point_chart_widget.clj b/src/votann/point_chart_widget.clj
index c4ac331..f2d44fd 100644
--- a/src/votann/point_chart_widget.clj
+++ b/src/votann/point_chart_widget.clj
@@ -12,6 +12,6 @@
{:fx/type ext-recreate-on-key-changed
:key units
:desc {:fx/type :pie-chart
- :pref-height 600
+ :pref-width 623
:title "Point Distribution"
:data (chart-data units)}})
diff --git a/src/votann/units_and_points_widget.clj b/src/votann/units_and_points_widget.clj
index 48018dd..81846d7 100644
--- a/src/votann/units_and_points_widget.clj
+++ b/src/votann/units_and_points_widget.clj
@@ -4,15 +4,31 @@
(def units-points-label-widget
- {:fx/type :label
- :style "-fx-font-size: 18px; -fx-font-weight: bold;"
- :text "Units & Points"})
+ {:fx/type :v-box
+ :alignment :center
+ :children [
+ {:fx/type :label
+ :style "-fx-font-size: 18px; -fx-font-weight: bold;"
+ :text "Units & Points"}
+ {:fx/type :h-box
+ :alignment :center
+ :spacing 100
+ :children [{:fx/type :button
+ :on-mouse-clicked {:event/type :event/undo-unit-click}
+ :on-key-pressed {:event/type :event/undo-unit-enter}
+ :text "Undo"}
+ {:fx/type :button
+ :on-mouse-clicked {:event/type :event/restart-click}
+ :on-key-pressed {:event/type :event/restart-enter}
+ :text "Restart"}]}]})
+
(def unit-points-list-widget
(vec (for [unit get-units]
{:fx/type :v-box
:padding 5
:children [{:fx/type :label
+ :style "-fx-font-size: 16px; -fx-font-weight: bold;"
:text (:name unit)}
{:fx/type :h-box
:alignment :center-left
@@ -26,13 +42,17 @@
:points (:points unit)}}
:text "Add"}
{:fx/type :label
+ :style "-fx-font-size: 16px;"
:text (str (:points unit) " pts")}]}]})))
(def unit-and-points-widget
- {:fx/type :scroll-pane
- :fit-to-width true
- :min-width 175
- :content
- {:fx/type :v-box
- :alignment :center
- :children (vec (apply merge [units-points-label-widget] unit-points-list-widget))}})
+ {:fx/type :v-box
+ :alignment :top-center
+ :children [units-points-label-widget
+ {:fx/type :scroll-pane
+ :fit-to-width true
+ :pref-width 300
+ :content
+ {:fx/type :v-box
+ :alignment :center
+ :children unit-points-list-widget}}]})