OSDN Git Service

検索ボックスをツールバー右側に移動&改良した
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / gui / SearchClearButton.java
1 package cx.fbn.nevernote.gui;
2
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;
12
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;
18         
19         public SearchClearButton(QWidget parent, String iconPath) {
20                 super(parent);
21                 this.iconPath = iconPath;
22                 
23                 clearIcon = new QPixmap(this.iconPath + "clear.png");
24                 clearActiveIcon = new QPixmap(this.iconPath + "clearActive.png");
25                 clearPressedIcon = new QPixmap(this.iconPath + "clearPressed.png");
26                 
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; }");
31                 this.hide();
32         }
33         
34         @Override
35         protected void enterEvent(QEvent e) {
36                 super.enterEvent(e);
37                 this.setIcon(new QIcon(clearActiveIcon));
38         }
39         
40         @Override
41         protected void leaveEvent(QEvent e) {
42                 super.leaveEvent(e);
43                 this.setIcon(new QIcon(clearIcon));
44         }
45         
46         @Override
47         protected void mousePressEvent(QMouseEvent e) {
48                 super.mousePressEvent(e);
49                 this.setIcon(new QIcon(clearPressedIcon));
50         }
51         
52         @Override
53         protected void mouseReleaseEvent(QMouseEvent e) {
54                 super.mouseReleaseEvent(e);
55                 this.setIcon(new QIcon(clearIcon));
56         }
57 }