/[svn]/jsampler/trunk/src/org/jsampler/view/classic/ChannelsBar.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/classic/ChannelsBar.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1356 by iliev, Mon Apr 2 21:39:15 2007 UTC revision 1357 by iliev, Sat Sep 22 17:27:06 2007 UTC
# Line 23  Line 23 
23  package org.jsampler.view.classic;  package org.jsampler.view.classic;
24    
25  import java.awt.Dimension;  import java.awt.Dimension;
26    import java.awt.Point;
27    
28    import java.awt.event.MouseAdapter;
29    import java.awt.event.MouseEvent;
30    
31    import java.beans.PropertyChangeEvent;
32    import java.beans.PropertyChangeListener;
33    
34  import javax.swing.BorderFactory;  import javax.swing.BorderFactory;
35  import javax.swing.BoxLayout;  import javax.swing.BoxLayout;
# Line 31  import javax.swing.JLabel; Line 38  import javax.swing.JLabel;
38  import javax.swing.JPanel;  import javax.swing.JPanel;
39  import javax.swing.JSlider;  import javax.swing.JSlider;
40  import javax.swing.JToolBar;  import javax.swing.JToolBar;
41    import javax.swing.JToolTip;
42    import javax.swing.Popup;
43    import javax.swing.PopupFactory;
44    
45  import javax.swing.event.ChangeEvent;  import javax.swing.event.ChangeEvent;
46  import javax.swing.event.ChangeListener;  import javax.swing.event.ChangeListener;
# Line 41  import org.jsampler.event.SamplerAdapter Line 51  import org.jsampler.event.SamplerAdapter
51  import org.jsampler.event.SamplerEvent;  import org.jsampler.event.SamplerEvent;
52    
53  import static org.jsampler.view.classic.ClassicI18n.i18n;  import static org.jsampler.view.classic.ClassicI18n.i18n;
54    import static org.jsampler.view.classic.ClassicPrefs.preferences;
55    import static org.jsampler.view.std.StdPrefs.*;
56    
57    
58  /**  /**
# Line 61  public class ChannelsBar extends JToolBa Line 73  public class ChannelsBar extends JToolBa
73                    
74          private final JLabel lVolume = new JLabel(Res.iconVolume22);          private final JLabel lVolume = new JLabel(Res.iconVolume22);
75          private final JSlider slVolume = new JSlider(0, 100);          private final JSlider slVolume = new JSlider(0, 100);
76            private Popup popup = null;
77            private final JToolTip tip = new JToolTip();
78                    
79                    
80          /**          /**
# Line 93  public class ChannelsBar extends JToolBa Line 107  public class ChannelsBar extends JToolBa
107                  add(btnTabMoveLeft);                  add(btnTabMoveLeft);
108                  add(btnTabMoveRight);                  add(btnTabMoveRight);
109                                    
110                    // Setting the tooltip size
111                    tip.setTipText(i18n.getLabel("ChannelsBar.volume", 1000));
112                    tip.setMinimumSize(tip.getPreferredSize());
113                    tip.setPreferredSize(tip.getPreferredSize()); // workaround for preserving that size
114                    tip.setComponent(slVolume);
115                    ///////
116                    
117                    int i = preferences().getIntProperty(MAXIMUM_MASTER_VOLUME);
118                    slVolume.setMaximum(i);
119                    String s = MAXIMUM_MASTER_VOLUME;
120                    preferences().addPropertyChangeListener(s, new PropertyChangeListener() {
121                            public void
122                            propertyChange(PropertyChangeEvent e) {
123                                    int j = preferences().getIntProperty(MAXIMUM_MASTER_VOLUME);
124                                    slVolume.setMaximum(j);
125                            }
126                    });
127                    
128                  slVolume.addChangeListener(new ChangeListener() {                  slVolume.addChangeListener(new ChangeListener() {
129                          public void                          public void
130                          stateChanged(ChangeEvent e) { setVolume(); }                          stateChanged(ChangeEvent e) { setVolume(); }
# Line 104  public class ChannelsBar extends JToolBa Line 136  public class ChannelsBar extends JToolBa
136                  });                  });
137                                    
138                  updateVolume();                  updateVolume();
139                    
140                    slVolume.addMouseListener(new MouseAdapter() {
141                            public void
142                            mousePressed(MouseEvent e) {
143                                    if(popup != null) {
144                                            popup.hide();
145                                            popup = null;
146                                    }
147                                    
148                                    Point p = slVolume.getLocationOnScreen();
149                                    PopupFactory pf = PopupFactory.getSharedInstance();
150                                    popup = pf.getPopup(slVolume, tip, p.x, p.y - 22);
151                                    popup.show();
152                            }
153                            
154                            public void
155                            mouseReleased(MouseEvent e) {
156                                    if(popup != null) {
157                                            popup.hide();
158                                            popup = null;
159                                    }
160                            }
161                    });
162          }          }
163                    
164          private void          private void
165          setVolume() {          setVolume() {
166                  int volume = slVolume.getValue();                  int volume = slVolume.getValue();
167                  slVolume.setToolTipText(i18n.getLabel("ChannelsBar.volume", volume));                  String s = i18n.getLabel("ChannelsBar.volume", volume);
168                  lVolume.setToolTipText(i18n.getLabel("ChannelsBar.volume", volume));                  slVolume.setToolTipText(s);
169                    lVolume.setToolTipText(s);
170                    tip.setTipText(s);
171                    tip.repaint();
172                                    
173                  if(slVolume.getValueIsAdjusting()) return;                  if(slVolume.getValueIsAdjusting()) return;
174                                    

Legend:
Removed from v.1356  
changed lines
  Added in v.1357

  ViewVC Help
Powered by ViewVC