annotate src/junotu/TabEdit.java @ 20:981d634a05ac

Started on my own layout manager for TabEdit Current problems: 1. If window is resized to be smaller than it was, my layout manager isn't refreshed. Resulting in the appearance of horizontal scrollbar. 2. Tags (flow layout) seem to lie about their preffered size.
author Fox
date Wed, 04 May 2022 18:55:18 +0200
parents 736bcfba1d2d
children b66fc08656c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
1 package junotu;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
2
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
3 import java.awt.Dimension;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
4 import java.awt.Font;
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
5 import java.awt.event.ActionEvent;
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
6 import java.awt.event.ActionListener;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
7 import java.awt.event.FocusEvent;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
8 import java.awt.event.FocusListener;
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
9
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
10 import javax.swing.SwingUtilities;
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
11 import javax.swing.event.DocumentListener;
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
12 import javax.swing.event.DocumentEvent;
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
13
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
14 import javax.swing.JPanel;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
15
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
16 import java.awt.BorderLayout;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
17 import java.awt.FlowLayout;
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
18
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
19 import javax.swing.Box;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
20 import javax.swing.JButton;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
21 import javax.swing.JTextField;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
22 import javax.swing.JTextArea;
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
23 import javax.swing.JScrollPane;
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
24 import javax.swing.JScrollBar;
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
25
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
26 import junotu.Main;
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
27 import junotu.Database;
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
28 import junotu.Window.Tab;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
29 import junotu.GUIToolbox;
14
d90a9b1065d1 Rewrote 'Card' class with tag support
Fox
parents: 13
diff changeset
30 import junotu.Card;
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
31
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
32 public class TabEdit extends JPanel {
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
33
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
34 private class TagWidget extends JButton {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
35
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
36 public String tag;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
37 public Object value;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
38
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
39 public TagWidget( String tag, Object value ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
40 super();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
41 this.tag = tag;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
42 this.value = value;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
43 TagWidget ref = this;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
44
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
45 addActionListener(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
46 new ActionListener() {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
47 @Override
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
48 public void actionPerformed( ActionEvent e )
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
49 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
50 tagEdit( ref );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
51 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
52 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
53 );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
54
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
55 update();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
56
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
57 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
58
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
59 public void update()
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
60 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
61 if( value != null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
62 setText( tag+": "+value.toString() );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
63 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
64 setText( tag );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
65 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
66 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
67
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
68 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
69
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
70 private Card card = null;
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
71 private boolean newCard = true;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
72
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
73 private TagWidget editedTag = null;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
74 private JTextField editedTagField;
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
75
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
76 private JScrollPane scroll;
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
77
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
78 private JTextField title;
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
79 private JTextArea content;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
80 private JPanel tags;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
81 private JButton addTag;
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
82
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
83 private JButton delete;
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
84
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
85 public TabEdit()
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
86 {
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
87 this.setLayout( new BorderLayout() );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
88
20
981d634a05ac Started on my own layout manager for TabEdit
Fox
parents: 16
diff changeset
89 JPanel scrollContent = new JPanel( new GUIToolbox.CardEditLayout() );
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
90 scroll = new JScrollPane( scrollContent );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
91 title = new JTextField();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
92 content = new JTextArea();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
93 tags = new JPanel();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
94 editedTagField = new JTextField();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
95 addTag = new JButton("+");
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
96
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
97 Box bottom = Box.createHorizontalBox();
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
98 JButton back = new JButton("Cancel");
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
99 delete = new JButton("Delete");
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
100 JButton save = new JButton("Save");
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
101
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
102 tags.setLayout( new FlowLayout() );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
103
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
104 title.setFont( new Font( "Monospaced", Font.PLAIN, 32 ) );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
105 content.setFont( new Font( "Monospaced", Font.PLAIN, 16 ) );
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
106 editedTagField.setFont( new Font( "Monospaced", Font.PLAIN, 12 ) );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
107
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
108 scroll.getVerticalScrollBar().setUnitIncrement(16);
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
109
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
110 title.setMaximumSize( new Dimension( Integer.MAX_VALUE, 64 ) );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
111 //content.setMaximumSize( new Dimension( Integer.MAX_VALUE, Integer.MAX_VALUE ) );
20
981d634a05ac Started on my own layout manager for TabEdit
Fox
parents: 16
diff changeset
112 content.setLineWrap( true );
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
113 /* TODO: Figure out tags layout mess. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
114 tags.setPreferredSize( new Dimension( 16, 256 ) );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
115 tags.setMaximumSize( new Dimension( Integer.MAX_VALUE, Integer.MAX_VALUE ) );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
116
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
117 this.add( scroll, BorderLayout.CENTER );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
118 scrollContent.add( title );
20
981d634a05ac Started on my own layout manager for TabEdit
Fox
parents: 16
diff changeset
119 //scrollContent.add( Box.createVerticalStrut(10) );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
120 scrollContent.add( content );
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
121 scrollContent.add( tags );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
122
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
123 this.add( bottom, BorderLayout.SOUTH );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
124 bottom.add( back );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
125 bottom.add( Box.createHorizontalGlue() );
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
126 bottom.add( delete );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
127 bottom.add( save );
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
128
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
129 //scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
130
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
131 back.addActionListener(
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
132 new ActionListener() {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
133 @Override
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
134 public void actionPerformed( ActionEvent e )
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
135 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
136 buttonClickedBack();
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
137 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
138 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
139 );
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
140
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
141 delete.addActionListener(
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
142 new ActionListener() {
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
143 @Override
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
144 public void actionPerformed( ActionEvent e )
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
145 {
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
146 buttonClickedDelete();
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
147 }
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
148 }
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
149 );
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
150
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
151 save.addActionListener(
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
152 new ActionListener() {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
153 @Override
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
154 public void actionPerformed( ActionEvent e )
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
155 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
156 buttonClickedSave();
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
157 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
158 }
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
159 );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
160
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
161 addTag.addActionListener(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
162 new ActionListener() {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
163 @Override
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
164 public void actionPerformed( ActionEvent e )
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
165 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
166 tagAdd();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
167 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
168 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
169 );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
170
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
171 editedTagField.addFocusListener(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
172 new FocusListener()
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
173 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
174 @Override
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
175 public void focusGained(FocusEvent e)
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
176 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
177 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
178
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
179 @Override
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
180 public void focusLost(FocusEvent e)
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
181 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
182 tagCommit();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
183 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
184 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
185 );
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
186
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
187 title.getDocument().addDocumentListener(
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
188 new DocumentListener()
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
189 {
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
190 @Override
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
191 public void changedUpdate( DocumentEvent e )
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
192 {
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
193 updateTitle();
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
194 }
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
195 @Override
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
196 public void removeUpdate( DocumentEvent e )
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
197 {
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
198 updateTitle();
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
199 }
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
200 @Override
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
201 public void insertUpdate( DocumentEvent e )
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
202 {
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
203 updateTitle();
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
204 }
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
205 }
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
206 );
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
207
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
208 }
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
209
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
210 private void scrollTop()
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
211 {
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
212 JScrollBar scrollbar = scroll.getVerticalScrollBar();
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
213 scrollbar.setValue(0);
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
214 }
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
215
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
216 private void scrollBottom()
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
217 {
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
218 JScrollBar scrollbar = scroll.getVerticalScrollBar();
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
219 int maximum = scrollbar.getMaximum()-scrollbar.getVisibleAmount();
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
220 scrollbar.setValue(maximum);
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
221 }
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
222
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
223 public void cardCreate()
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
224 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
225 newCard = true;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
226 card = new Card();
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
227 updateTitle();
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
228 delete.setVisible(false);
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
229 updateTags();
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
230 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
231
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
232 public void cardEdit( Card card )
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
233 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
234 newCard = false;
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
235 this.card = card;
14
d90a9b1065d1 Rewrote 'Card' class with tag support
Fox
parents: 13
diff changeset
236 title.setText( card.titleGet() );
d90a9b1065d1 Rewrote 'Card' class with tag support
Fox
parents: 13
diff changeset
237 content.setText( card.contentGet() );
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
238 updateTitle();
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
239 delete.setVisible(true);
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
240 updateTags();
13
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
241 SwingUtilities.invokeLater(
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
242 new Runnable()
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
243 {
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
244 public void run()
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
245 {
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
246 scrollTop();
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
247 }
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
248 }
ecc0cb60b845 Scroll to top when opening a card to edit
Fox
parents: 12
diff changeset
249 );
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
250 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
251
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
252 private void reset()
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
253 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
254 title.setText("");
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
255 content.setText("");
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
256 card = null;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
257 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
258
16
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
259 private void updateTitle()
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
260 {
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
261 Window window = (Window)this.getTopLevelAncestor();
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
262
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
263 String text = title.getText();
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
264 String action = newCard ? "Create" : "Edit";
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
265
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
266 if( text.length() > 0 ) {
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
267 window.setTitle( window.preferredTitle( action+": "+text ) );
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
268 } else {
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
269 window.setTitle( window.preferredTitle( action ) );
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
270 }
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
271
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
272 }
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
273
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
274 private void updateTags()
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
275 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
276 tags.removeAll();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
277 for( String tag : card.tagNames() ) {
16
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
278 if( tag.startsWith("_") ) {
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
279 continue;
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
280 }
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
281 for( Object value : card.tagValues( tag ) ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
282 tags.add( new TagWidget( tag, value ) );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
283 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
284 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
285 tags.add( addTag );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
286 tags.validate();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
287 tags.repaint();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
288 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
289
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
290 private void tagAdd()
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
291 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
292 tags.add( editedTagField, GUIToolbox.componentGetIndex( addTag ) );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
293 editedTagField.setText( "" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
294 editedTagField.setColumns(12);
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
295 editedTagField.grabFocus();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
296 tags.validate();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
297 tags.repaint();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
298 System.out.print( "Opened new tag for editing.\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
299 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
300
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
301 private void tagEdit( TagWidget tagWidget )
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
302 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
303 editedTag = tagWidget;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
304 tags.add( editedTagField, GUIToolbox.componentGetIndex( editedTag ) );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
305 if( editedTag.value != null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
306 editedTagField.setText( editedTag.tag+":"+editedTag.value.toString() );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
307 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
308 editedTagField.setText( editedTag.tag );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
309 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
310 editedTagField.setColumns(0);
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
311 editedTagField.grabFocus();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
312 editedTag.setVisible(false);
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
313 tags.validate();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
314 tags.repaint();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
315 System.out.print( "Opened existing tag for editing.\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
316 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
317
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
318 private void tagCommit()
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
319 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
320
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
321 String newTag;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
322 Object newValue;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
323
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
324 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
325 String[] split = editedTagField.getText().split( ":", 2 );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
326 newTag = split[0];
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
327 newValue = split.length > 1 ? split[1] : null;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
328 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
329
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
330 /* Either editing tag, or adding a new one. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
331 if( editedTag != null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
332
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
333 String oldTag = editedTag.tag;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
334 Object oldValue = editedTag.value;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
335
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
336 logTagChange( oldTag, oldValue, newTag, newValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
337
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
338 if( oldTag.equals(newTag) ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
339 card.tagValueReplace( oldTag, oldValue, newValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
340 editedTag.value = newValue;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
341 editedTag.update();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
342 } else { /* Replace tag with another one. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
343
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
344 card.tagValueRemove( oldTag, oldValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
345 card.tagValueAdd( newTag, newValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
346
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
347 if( !newTag.equals("") ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
348 editedTag.tag = newTag;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
349 editedTag.value = newValue;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
350 editedTag.update();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
351 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
352 tags.remove( editedTag );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
353 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
354
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
355 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
356
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
357 editedTag.setVisible( true );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
358
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
359 } else { /* Adding new tag (value). */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
360 if( !newTag.equals("") ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
361 card.tagValueAdd( newTag, newValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
362 tags.add( new TagWidget( newTag, newValue ), GUIToolbox.componentGetIndex( addTag )-1 );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
363 logTagChange( "", null, newTag, newValue );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
364 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
365 logTagChange( "", null, "", null );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
366 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
367 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
368
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
369 editedTagField.setText( "" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
370 tags.remove( editedTagField );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
371
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
372 editedTag = null;
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
373
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
374 tags.validate();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
375 tags.repaint();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
376
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
377 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
378
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
379 private void logTagChange( String oldTag, Object oldValue, String newTag, Object newValue )
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
380 {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
381 System.out.print( "Comitted changes to tag: " );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
382 if( oldTag.equals("") ) { /* Creating tag. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
383 if( !newTag.equals("") ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
384 if( newValue == null ) { /* No value. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
385 System.out.print( "Added tag '"+newTag+"' (with no value)\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
386 } else { /* Has value. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
387 System.out.print( "Added tag '"+newTag+"' with value '"+newValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
388 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
389 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
390 System.out.print( "No changes.\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
391 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
392 } else { /* Editing tag. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
393 if( oldTag.equals(newTag) ) { /* Same tag. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
394 if( oldValue == null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
395 if( newValue == null ) { /* Clear before, clear now. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
396 System.out.print( "No changes (tag '"+oldTag+"' with no value)\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
397 } else { /* Assigned value. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
398 System.out.print( "Assigned value of tag '"+oldTag+"' to '"+newValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
399 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
400 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
401 if( newValue == null ) { /* Clearing value. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
402 System.out.print( "Cleared value of tag '"+oldTag+"' (was '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
403 +oldValue.toString()+"')\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
404 } else if( oldValue.equals(newValue) ) { /* Value is the same. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
405 System.out.print( "No changes (tag '"+oldTag+"' with value '"+oldValue+"')\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
406 } else { /* Changing value. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
407 System.out.print( "Changed value of tag '"+oldTag+"' from '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
408 +oldValue.toString()+"' to '"+newValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
409 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
410 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
411 } else { /* Replaced tag. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
412 if( newTag.equals("") ) { /* Removing tag. */
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
413 if( oldValue == null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
414 System.out.print( "Removed tag '"+oldTag+"' (with no value)\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
415 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
416 System.out.print( "Removed tag '"+oldTag+"' with value '"+oldValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
417 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
418 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
419 if( oldValue == null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
420 if( newValue == null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
421 System.out.print(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
422 "Renamed tag '"+oldTag+"' -> '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
423 +newTag+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
424 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
425 System.out.print(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
426 "Changed tag '"+oldTag+"' -> '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
427 +newTag+"': '"+newValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
428 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
429 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
430 if( newValue == null ) {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
431 System.out.print(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
432 "Changed tag '"+oldTag+"': '"+oldValue.toString()+"' -> '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
433 +newTag+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
434 } else {
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
435 System.out.print(
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
436 "Changed tag '"+oldTag+"': '"+oldValue.toString()+"' -> '"
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
437 +newTag+"': '"+newValue.toString()+"'\n" );
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
438 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
439 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
440 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
441 }
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
442 }
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
443 }
9
dd51276f95a2 Dynamically change window title on card edit tab to reflect card title
Fox
parents: 8
diff changeset
444
16
736bcfba1d2d Hide internal tags from interface
Fox
parents: 15
diff changeset
445
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
446 private void buttonClickedBack()
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
447 {
11
587b69a38915 Editing cards
Fox
parents: 9
diff changeset
448 Window window = (Window)this.getTopLevelAncestor();
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
449 reset();
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
450 window.tabSwitch( Tab.SEARCH );
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
451 }
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
452
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
453 private void buttonClickedDelete()
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
454 {
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
455
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
456 if( newCard ) {
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
457 return;
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
458 }
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
459
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
460 try {
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
461 Main.database.cardDelete( card.identifierGet() );
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
462 } catch( Exception e ) {
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
463 throw new RuntimeException(e);
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
464 }
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
465
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
466 Window window = (Window)this.getTopLevelAncestor();
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
467 window.tabSearch.search();
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
468 reset();
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
469 window.tabSwitch( Tab.SEARCH );
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
470
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
471 }
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
472
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
473 private void buttonClickedSave()
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
474 {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
475
14
d90a9b1065d1 Rewrote 'Card' class with tag support
Fox
parents: 13
diff changeset
476 card.titleSet( title.getText() );
d90a9b1065d1 Rewrote 'Card' class with tag support
Fox
parents: 13
diff changeset
477 card.contentSet( content.getText() );
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
478
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
479 try {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
480 if( newCard ) {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
481 Main.database.cardAdd( card );
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
482 } else {
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
483 Main.database.cardUpdate( card );
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
484 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
485 } catch( Exception e ) {
12
b4fd74d0680d Card deletion button
Fox
parents: 11
diff changeset
486 throw new RuntimeException(e);
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
487 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
488
11
587b69a38915 Editing cards
Fox
parents: 9
diff changeset
489 Window window = (Window)this.getTopLevelAncestor();
587b69a38915 Editing cards
Fox
parents: 9
diff changeset
490 window.tabSearch.search();
15
4bb371496315 Tag editing
Fox
parents: 14
diff changeset
491 reset();
11
587b69a38915 Editing cards
Fox
parents: 9
diff changeset
492 window.tabSwitch( Tab.SEARCH );
8
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
493 }
9d3256f86803 Functional card creation and search
Fox
parents: 1
diff changeset
494
1
3922b33bb764 Separated tabs into classes
Fox
parents:
diff changeset
495 }