Esempio n. 1
0
    void DropDown::mouseReleased(MouseEvent& mouseEvent)
    {
        if (mIsDragged)
        {
            mPushed = false;
        }

        // Released outside of widget. Can happen when we have modal input focus.
        if ((0 > mouseEvent.getY()
            || mouseEvent.getY() >= getHeight()
            || mouseEvent.getX() < 0
            || mouseEvent.getX() >= getWidth())
            && mouseEvent.getButton() == MouseEvent::LEFT
            && isModalMouseInputFocused())
        {
            releaseModalMouseInputFocus();

            if (mIsDragged)
            {
                foldUp();
            }
        }
        else if (mouseEvent.getButton() == MouseEvent::LEFT)
        {
            mPushed = false;
        }

        mIsDragged = false;
    }
Esempio n. 2
0
void DropDown::mousePressed(gcn::MouseEvent& mouseEvent)
{
    gcn::DropDown::mousePressed(mouseEvent);

    if (0 <= mouseEvent.getY() && mouseEvent.getY() < getHeight() &&
        mouseEvent.getX() >= 0 && mouseEvent.getX() < getWidth() &&
        mouseEvent.getButton() == gcn::MouseEvent::LEFT && mDroppedDown &&
        mouseEvent.getSource() == mListBox)
    {
        mPushed = false;
        foldUp();
        releaseModalMouseInputFocus();
        distributeActionEvent();
    }
}
Esempio n. 3
0
 void DropDown::mousePressed(MouseEvent& mouseEvent)
 {        
     // If we have a mouse press on the widget.
     if (0 <= mouseEvent.getY()
         && mouseEvent.getY() < getHeight()
         && mouseEvent.getX() >= 0
         && mouseEvent.getX() < getWidth()
         && mouseEvent.getButton() == MouseEvent::LEFT
         && !mDroppedDown
         && mouseEvent.getSource() == this)
     {
         mPushed = true;
         dropDown();
         requestModalMouseInputFocus();
     }
     // Fold up the listbox if the upper part is clicked after fold down
     else if (0 <= mouseEvent.getY()
              && mouseEvent.getY() < mFoldedUpHeight
              && mouseEvent.getX() >= 0
              && mouseEvent.getX() < getWidth()
              && mouseEvent.getButton() == MouseEvent::LEFT
              && mDroppedDown
              && mouseEvent.getSource() == this)
     {
         mPushed = false;
         foldUp();
         releaseModalMouseInputFocus();
     }
     // If we have a mouse press outside the widget
     else if (0 > mouseEvent.getY()
              || mouseEvent.getY() >= getHeight()
              || mouseEvent.getX() < 0
              || mouseEvent.getX() >= getWidth())
     {
         mPushed = false;
         foldUp();
     }
 }
Esempio n. 4
0
void DropDown::focusLost(const gcn::Event& event)
{
    gcn::DropDown::focusLost(event);
    releaseModalMouseInputFocus();
}
Esempio n. 5
0
 void DropDown::action(const ActionEvent& actionEvent)
 {
     foldUp();
     releaseModalMouseInputFocus();
     distributeActionEvent();
 }
Esempio n. 6
0
 void DropDown::action(const ActionEvent& actionEvent)
 {
     foldUp();
     releaseModalMouseInputFocus();
     generateAction();
 }