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