1 /* Copyright (C) 2005-2011 Fabio Riccardi */
2 
3 package com.lightcrafts.ui.operation;
4 
5 import com.lightcrafts.ui.action.ToggleAction;
6 import static com.lightcrafts.ui.operation.Locale.LOCALE;
7 import com.lightcrafts.ui.toolkit.IconFactory;
8 
9 import javax.swing.*;
10 import java.awt.event.ActionEvent;
11 
12 class CollapseExpandAction extends ToggleAction {
13 
14     private static Icon CollapsedIcon = IconFactory.createInvertedIcon(
15         CollapseExpandAction.class, "collapsed.png"
16     );
17     private static Icon ExpandedIcon = IconFactory.createInvertedIcon(
18         CollapseExpandAction.class, "expanded.png"
19     );
20     private static String ExpandToolTip = LOCALE.get("ExpandToolTip");
21     private static String CollapseToolTip = LOCALE.get("CollapseToolTip");
22 
23     private SelectableTitle title;
24 
CollapseExpandAction(SelectableTitle title)25     CollapseExpandAction(SelectableTitle title) {
26         this.title = title;
27         setIcon(ExpandedIcon, false);
28         setIcon(CollapsedIcon, true);
29         setDescription(CollapseToolTip, false);
30         setDescription(ExpandToolTip, true);
31         setState(false);
32     }
33 
isCollapsed()34     boolean isCollapsed() {
35         return getState();
36     }
37 
onActionPerformed(ActionEvent event)38     protected void onActionPerformed(ActionEvent event) {
39         title.doCollapse();
40     }
41 
offActionPerformed(ActionEvent event)42     protected void offActionPerformed(ActionEvent event) {
43         title.doExpand();
44     }
45 }
46