1 package cx.fbn.nevernote.gui;
3 import com.trolltech.qt.core.QEvent;
4 import com.trolltech.qt.core.QSize;
5 import com.trolltech.qt.core.Qt;
6 import com.trolltech.qt.gui.QCursor;
7 import com.trolltech.qt.gui.QIcon;
8 import com.trolltech.qt.gui.QMouseEvent;
9 import com.trolltech.qt.gui.QPixmap;
10 import com.trolltech.qt.gui.QToolButton;
11 import com.trolltech.qt.gui.QWidget;
13 public class SearchClearButton extends QToolButton {
14 private final QPixmap clearIcon;
15 private final QPixmap clearActiveIcon;
16 private final QPixmap clearPressedIcon;
17 private final String iconPath;
19 public SearchClearButton(QWidget parent, String iconPath) {
21 this.iconPath = iconPath;
23 clearIcon = new QPixmap(this.iconPath + "clear.png");
24 clearActiveIcon = new QPixmap(this.iconPath + "clearActive.png");
25 clearPressedIcon = new QPixmap(this.iconPath + "clearPressed.png");
27 this.setIcon(new QIcon(clearIcon));
28 this.setIconSize(new QSize(16, 16));
29 this.setCursor(new QCursor(Qt.CursorShape.ArrowCursor));
30 this.setStyleSheet("QToolButton { border: none; padding: 0px; }");
35 protected void enterEvent(QEvent e) {
37 this.setIcon(new QIcon(clearActiveIcon));
41 protected void leaveEvent(QEvent e) {
43 this.setIcon(new QIcon(clearIcon));
47 protected void mousePressEvent(QMouseEvent e) {
48 super.mousePressEvent(e);
49 this.setIcon(new QIcon(clearPressedIcon));
53 protected void mouseReleaseEvent(QMouseEvent e) {
54 super.mouseReleaseEvent(e);
55 this.setIcon(new QIcon(clearIcon));