sclass ForwardAndBackButtons {
JTextField tf;
O onClick; // runnable
JButton btnBack, btnForw;
new L<S> history;
int historyIdx;
*(JTextField *tf, O *onClick) {
btnBack = jbutton(resizeImage(loadImage2(#1007466), 32), r { back() });
btnForw = jbutton(resizeImage(
img_getCenterPortion(loadImage2(#1007467), 198, 198), 32), r { forward() });
update();
}
JPanel buttons() {
ret hstackWithSpacing(6, btnBack, btnForw);
}
void back {
if (historyIdx <= 1) ret;
--historyIdx;
tf.setText(history.get(historyIdx-1));
go();
}
void forward {
if (historyIdx >= l(history)) ret;
++historyIdx;
tf.setText(history.get(historyIdx-1));
go();
}
void go {
update();
pcallF(onClick);
}
void submitted {
subList(history, historyIdx).clear();
history.add(getTextTrim(tf));
++historyIdx;
update();
}
void update {
btnBack.setEnabled(historyIdx > 1);
btnForw.setEnabled(historyIdx < l(history));
}
}download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1007501 |
| Snippet name: | ForwardAndBackButtons |
| Eternal ID of this version: | #1007501/3 |
| Text MD5: | a4de75988fe3e8d642d65b76744b338d |
| Author: | stefan |
| Category: | javax / gui |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2017-03-25 17:13:23 |
| Source code size: | 1067 bytes / 49 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 1330 / 1895 |
| Version history: | 2 change(s) |
| Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |