/*
* This file is part of NeighborNote
* Copyright 2013 Yuki Takahashi
*
* This file may be licensed under the terms of of the
* GNU General Public License Version 2 (the ``GPL'').
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the GPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the GPL along with this
* program. If not, go to http://www.gnu.org/licenses/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
package cx.fbn.nevernote.gui;
import com.trolltech.qt.core.QEvent;
import com.trolltech.qt.core.QSize;
import com.trolltech.qt.core.Qt;
import com.trolltech.qt.gui.QCursor;
import com.trolltech.qt.gui.QIcon;
import com.trolltech.qt.gui.QMouseEvent;
import com.trolltech.qt.gui.QPixmap;
import com.trolltech.qt.gui.QToolButton;
import com.trolltech.qt.gui.QWidget;
public class SearchClearButton extends QToolButton {
private final QPixmap clearIcon;
private final QPixmap clearActiveIcon;
private final QPixmap clearPressedIcon;
private final String iconPath;
public SearchClearButton(QWidget parent, String iconPath) {
super(parent);
this.iconPath = iconPath;
clearIcon = new QPixmap(this.iconPath + "clear.png");
clearActiveIcon = new QPixmap(this.iconPath + "clearActive.png");
clearPressedIcon = new QPixmap(this.iconPath + "clearPressed.png");
this.setIcon(new QIcon(clearIcon));
this.setIconSize(new QSize(16, 16));
this.setCursor(new QCursor(Qt.CursorShape.ArrowCursor));
this.setStyleSheet("QToolButton { border: none; padding: 0px; }");
this.hide();
}
@Override
protected void enterEvent(QEvent e) {
super.enterEvent(e);
this.setIcon(new QIcon(clearActiveIcon));
}
@Override
protected void leaveEvent(QEvent e) {
super.leaveEvent(e);
this.setIcon(new QIcon(clearIcon));
}
@Override
protected void mousePressEvent(QMouseEvent e) {
super.mousePressEvent(e);
this.setIcon(new QIcon(clearPressedIcon));
}
@Override
protected void mouseReleaseEvent(QMouseEvent e) {
super.mouseReleaseEvent(e);
this.setIcon(new QIcon(clearIcon));
}
}