import com.trolltech.qt.core.Qt;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QDialogButtonBox;
import com.trolltech.qt.gui.QIcon;
import com.trolltech.qt.gui.QKeySequence;
import com.trolltech.qt.gui.QMainWindow;
import com.trolltech.qt.gui.QPushButton;
import com.trolltech.qt.gui.QVBoxLayout;
import com.trolltech.qt.gui.QWidget;

public class MySQLWorkbenchButtons extends QMainWindow
{	
    QPushButton btnMoveToTop;
    QPushButton btnMoveUp;
    QPushButton btnRemove;
    QPushButton btnMoveDown;
    QPushButton btnMoveToBottom;
    
	public MySQLWorkbenchButtons()
	{
	    QWidget centralWidget = new QWidget();
	    QVBoxLayout loMain = new QVBoxLayout();
	    centralWidget.setLayout( loMain );
	    setCentralWidget( centralWidget );
	    
	    QDialogButtonBox dbbColumnActions = new QDialogButtonBox();
	    dbbColumnActions.setOrientation( Qt.Orientation.Vertical );
	    
	    //Create buttons
	    btnMoveToTop    = new QPushButton( new QIcon( "2uparrow.png" ),   "" );
        btnMoveUp       = new QPushButton( new QIcon( "1uparrow.png" ),   "" );
        btnRemove       = new QPushButton( new QIcon( "editdelete.png" ), "" );
        btnMoveDown     = new QPushButton( new QIcon( "2downarrow.png" ), "" );
        btnMoveToBottom = new QPushButton( new QIcon( "1downarrow.png" ), "" );
        //Bind shortcuts to buttons
        btnMoveToTop.setShortcut( new QKeySequence( "Ctrl+Shift+Up" ) );
        btnMoveUp.setShortcut( new QKeySequence( "Ctrl+Up" ) );
        btnRemove.setShortcut( new QKeySequence( "Shift+Delete" ) );
        btnMoveDown.setShortcut( new QKeySequence( "Ctrl+Down" ) );
        btnMoveToBottom.setShortcut( new QKeySequence( "Ctrl+Shift+Down" ) );
        //Set tooltips of buttons (including shortcut key sequence)
        btnMoveToTop.setToolTip( tr( "Move selected row to the top\n Shortcut: "       + btnMoveToTop.shortcut() ) );
        btnMoveUp.setToolTip( tr( "Move selected row up\n Shortcut: "                  + btnMoveToTop.shortcut() ) );
        btnRemove.setToolTip( tr( "Remove selected row\n Shortcut: "                   + btnMoveToTop.shortcut()) );
        btnMoveDown.setToolTip( tr( "Move selected row down\n Shortcut: "              + btnMoveToTop.shortcut() ) );
        btnMoveToBottom.setToolTip( tr( "Move selected row to the bottom\n Shortcut: " + btnMoveToTop.shortcut() ) );
        //Add buttons        
        dbbColumnActions.addButton( btnMoveToTop, QDialogButtonBox.ButtonRole.NoRole );
        dbbColumnActions.addButton( btnMoveUp, QDialogButtonBox.ButtonRole.NoRole );
        dbbColumnActions.addButton( btnRemove, QDialogButtonBox.ButtonRole.NoRole );
        dbbColumnActions.addButton( btnMoveDown, QDialogButtonBox.ButtonRole.NoRole );
        dbbColumnActions.addButton( btnMoveToBottom, QDialogButtonBox.ButtonRole.NoRole );
        
        //Disable last button to indicate the last row has been selected
        btnMoveToBottom.setEnabled( false );

	    loMain.addWidget( dbbColumnActions );
	}
	
	public static void main(String[] args) 
	{
		QApplication.initialize(args);
		new MySQLWorkbenchButtons().show();
		QApplication.exec();
	}
}