Skip to content

Commit

Permalink
Refactored images magement
Browse files Browse the repository at this point in the history
Compressed Start and Pause buttons in a single button
  • Loading branch information
mmornati committed Mar 1, 2012
1 parent e302e40 commit b067915
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 96 deletions.
17 changes: 0 additions & 17 deletions src/net/mornati/epomodoro/Activator.java
Expand Up @@ -52,7 +52,6 @@ public class Activator extends AbstractUIPlugin {
private static final Logger LOG=Logger.getLogger(Activator.class.getName());
private List<Button> startButtons=new ArrayList<Button>();
private List<Label> counterLabels=new ArrayList<Label>();
private List<Button> pauseButtons=new ArrayList<Button>();

/*
* (non-Javadoc)
Expand Down Expand Up @@ -201,18 +200,10 @@ public void subscribeCounterLabel(Label label) {
counterLabels.add(label);
}

public void subscribePauseButton(Button button) {
pauseButtons.add(button);
}

public List<Button> getStartButtons() {
return startButtons;
}

public List<Button> getPauseButtons() {
return pauseButtons;
}

public void scheduleTimer(final int changeInterval) {
final PomodoroTimer internalTimer;
if (timer == null) {
Expand All @@ -223,14 +214,6 @@ public void scheduleTimer(final int changeInterval) {
Display.getDefault().timerExec(changeInterval, new Runnable() {
public void run() {
if (internalTimer != null) {
// if (internalTimer.getStatus().equals(PomodoroTimer.STATUS_INITIALIZED)) {
// for (Button startButton : startButtons) {
// if (!startButton.isDisposed()) {
// startButton.setEnabled(true);
// }
// }
// }

for (Label countdown : counterLabels) {
if (!countdown.isDisposed()) {
if (timer.getType() == PomodoroTimer.TYPE_WORK) {
Expand Down
1 change: 0 additions & 1 deletion src/net/mornati/epomodoro/Startup.java
Expand Up @@ -46,7 +46,6 @@ protected Control createControl(Composite parent) {
layoutData.horizontalIndent=10;
countdownStatus.setLayoutData(layoutData);
Activator.getDefault().subscribeStartButton(UIUtil.createStartButton(composite));
Activator.getDefault().subscribePauseButton(UIUtil.createPauseButton(composite));
UIUtil.createResetButton(composite);
return composite;
}
Expand Down
106 changes: 29 additions & 77 deletions src/net/mornati/epomodoro/util/UIUtil.java
Expand Up @@ -7,8 +7,6 @@

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
Expand All @@ -23,82 +21,31 @@ public static Button createStartButton(Composite parent) {

@Override
public void widgetSelected(SelectionEvent e) {
Activator.getDefault().getTimer().start();
for (Button pause : Activator.getDefault().getPauseButtons()) {
if (!pause.isDisposed()) {
pause.redraw();
}
if (Activator.getDefault().getTimer() != null && Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_INITIALIZED)) {
Activator.getDefault().getTimer().start();
} else {
Activator.getDefault().getTimer().pause();
}
}

@Override
public void widgetDefaultSelected(SelectionEvent e) {

}
});
startButton.addPaintListener(new PaintListener() {

@Override
public void paintControl(PaintEvent e) {
Button button=(Button) e.getSource();
if (!button.isDisposed()) {
boolean enabledStatus=Activator.getDefault().getTimer() != null
&& Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_INITIALIZED);
if (button.getEnabled() && !enabledStatus) {
button.setEnabled(false);
} else if (!button.getEnabled() && enabledStatus) {
button.setEnabled(true);
List<Button> startButtons=Activator.getDefault().getStartButtons();
for (final Button startButton : startButtons) {
if (!startButton.isDisposed()) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
addDetailsToButton(startButton);
}
});
}
}

}
});
startButton.setToolTipText("Start");
startButton.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PLAY).createImage());
return startButton;
}

public static Button createPauseButton(Composite parent) {
final Button pauseButton=new Button(parent, SWT.NULL);
pauseButton.addSelectionListener(new SelectionListener() {

@Override
public void widgetSelected(SelectionEvent e) {
Activator.getDefault().getTimer().pause();
}

@Override
public void widgetDefaultSelected(SelectionEvent e) {

}
});
pauseButton.setEnabled(false);
pauseButton.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PAUSE).createImage());
pauseButton.setToolTipText("Pause");
pauseButton.addPaintListener(new PaintListener() {

@Override
public void paintControl(PaintEvent e) {
Button button=(Button) e.getSource();
if (!button.isDisposed()) {
boolean enabledStatus=Activator.getDefault().getTimer() != null
&& !Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_INITIALIZED);
if (button.getEnabled() && !enabledStatus) {
button.setEnabled(false);
} else if (!button.getEnabled() && enabledStatus) {
button.setEnabled(true);
}
if (button.getToolTipText().equals("Pause") && Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_PAUSED)) {
button.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PLAY).createImage());
button.setToolTipText("Play");
} else if (button.getToolTipText().equals("Play") && !Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_PAUSED)) {
button.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PAUSE).createImage());
pauseButton.setToolTipText("Pause");
}
}
}
});
return pauseButton;
addDetailsToButton(startButton);
return startButton;
}

public static Button createResetButton(Composite parent) {
Expand All @@ -109,17 +56,13 @@ public static Button createResetButton(Composite parent) {
public void widgetSelected(SelectionEvent e) {
Activator.getDefault().resetTimer(Activator.getDefault().getTimer().getConfigWorkTime(), PomodoroTimer.TYPE_WORK);
List<Button> startButtons=Activator.getDefault().getStartButtons();
for (Button startButton : startButtons) {
for (final Button startButton : startButtons) {
if (!startButton.isDisposed()) {
startButton.setEnabled(true);
startButton.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PLAY).createImage());
}
}
List<Button> pauseButtons=Activator.getDefault().getPauseButtons();
for (Button pauseButton : pauseButtons) {
if (!pauseButton.isDisposed()) {
pauseButton.setEnabled(false);
pauseButton.setImage(Activator.getImageDescriptor(PluginImages.ICONS_PAUSE_DISABLED).createImage());
Display.getDefault().asyncExec(new Runnable() {
public void run() {
addDetailsToButton(startButton);
}
});
}
}
}
Expand Down Expand Up @@ -150,4 +93,13 @@ public void run() {
});
}

private static void addDetailsToButton(Button startButton) {
String imagePath=Activator.getDefault().getTimer() != null && Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_WORKING_TIME) ? PluginImages.ICONS_PAUSE
: PluginImages.ICONS_PLAY;
startButton.setImage(Activator.getImageDescriptor(imagePath).createImage());
String tooltipText=Activator.getDefault().getTimer() != null && Activator.getDefault().getTimer().getStatus().equals(PomodoroTimer.STATUS_WORKING_TIME) ? "Pause"
: "Play";
startButton.setToolTipText(tooltipText);
}

}
1 change: 0 additions & 1 deletion src/net/mornati/epomodoro/views/CountDownTimer.java
Expand Up @@ -38,7 +38,6 @@ public void createPartControl(Composite parent) {
final Label typeLabel=new Label(container, SWT.NULL);
typeLabel.setText("");
Activator.getDefault().subscribeStartButton(UIUtil.createStartButton(container));
Activator.getDefault().subscribePauseButton(UIUtil.createPauseButton(container));
UIUtil.createResetButton(container);
}

Expand Down

0 comments on commit b067915

Please sign in to comment.