bool Summarizer::mouseOver(TextArea& textarea, vec2 mouse) { mouseover=false; if(right && mouse.x < pos_x) return false; if(mouse.y < top_gap || mouse.y > (display.height-bottom_gap)) return false; if(items.empty()) return false; float y = mouse.y; for(SummItem& item : items) { if(item.departing) continue; if(item.pos.y<=y && (item.pos.y+font.getMaxHeight()+4) > y) { if(mouse.x< item.pos.x || mouse.x > item.pos.x + item.width) continue; std::vector<std::string> content; textarea.setText(item.unit.expanded); textarea.setColour(vec3(item.colour)); textarea.setPos(mouse); mouseover=true; return true; } } return false; }
bool RequestBall::mouseOver(TextArea& textarea, vec2& mouse) { //within 3 pixels vec2 from_mouse = pos - mouse; if( glm::dot(from_mouse, from_mouse) < 36.0f) { std::vector<std::string> content; content.push_back( std::string( le->path ) ); content.push_back( " " ); if(le->vhost.size()>0) content.push_back( std::string("Virtual-Host: ") + le->vhost ); content.push_back( std::string("Remote-Host: ") + le->hostname ); if(le->referrer.size()>0) content.push_back( std::string("Referrer: ") + le->referrer ); if(le->user_agent.size()>0) content.push_back( std::string("User-Agent: ") + le->user_agent ); textarea.setText(content); textarea.setPos(mouse); textarea.setColour(colour); return true; } return false; }
MenuItem* GOFactory::createMenuItem( fVector3 p_position, fVector2 p_size, string p_text, fVector2 p_textOffset, fVector2 p_fontSize, string p_bgTexPath) { float scrW = GAME_FAIL; float scrH = GAME_FAIL; if(m_io != NULL) { scrW = (float)m_io->getScreenWidth(); scrH = (float)m_io->getScreenHeight(); } fVector2 finalPos, finalTextOffset; finalPos.x = scrW * (p_position.x); finalPos.y = scrH * (p_position.y); finalTextOffset.x = scrW * (p_textOffset.x); finalTextOffset.y = scrH * (p_textOffset.y); SpriteInfo* spriteInfo = NULL; if( p_bgTexPath != "" ) spriteInfo = CreateSpriteInfo( p_bgTexPath, fVector3(finalPos.x, finalPos.y, p_position.z), fVector2(p_size.x*scrW, p_size.y*scrH), NULL ); GlyphMap* font = NULL; TextArea* text = NULL; if( p_text != "" ) { text = createMenuItemTextArea(p_position, p_text, p_textOffset, p_fontSize ); text->setText( p_text ); } return new MenuItem( spriteInfo, text, finalPos, finalTextOffset ); }
void HomeLayout::onTweetPosted(AbstractObjectBase* tweet) { Q_UNUSED(tweet); RequestEnvelope *env = qobject_cast<RequestEnvelope *>(sender()); disconnect(env, SIGNAL(requestComplete(AbstractObjectBase*)), this, SLOT(onTweetPosted(AbstractObjectBase*))); qDebug() << "Successfully posted the tweet"; TextArea *tweetText = root()->findChild<TextArea*>("tweetText"); tweetText->setText("Tweet Posted!"); }
ActivityIndicatorRecipe::ActivityIndicatorRecipe(Container *parent) : CustomControl(parent) { // The recipe Container Container *recipeContainer = new Container(); recipeContainer->setLeftPadding(20.0); recipeContainer->setRightPadding(20.0); // The introduction text TextArea *introText = new TextArea(); introText->setText((const QString) "This is a milk boiling simulator recipe"); introText->setEditable(false); introText->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); introText->setBottomMargin(100); Container* smashContainer = new Container(); smashContainer->setLayout(new DockLayout()); // Create the unbroken egg ImageView mUnbroken = ImageView::create("asset:///images/stockcurve/egg.png"); // Center the unbroken egg image mUnbroken->setHorizontalAlignment(HorizontalAlignment::Center); mUnbroken->setVerticalAlignment(VerticalAlignment::Center); // Since this broken egg image is on top of the unbroken egg image, we can hide // this image by changing the opacity value of this image. mBroken = ImageView::create("asset:///images/stockcurve/broken_egg.png").opacity(0.0); // Center the brown egg image (same as unbroken one) mBroken->setHorizontalAlignment(HorizontalAlignment::Center); mBroken->setVerticalAlignment(VerticalAlignment::Center); mActivityIndicator = new ActivityIndicator(); mActivityIndicator->setPreferredSize(130, 130); smashContainer->add(mUnbroken); smashContainer->add(mActivityIndicator); smashContainer->add(mBroken); mButton = new Button(); mButton->setTopMargin(100); mButton->setText((const QString) "start cooking"); connect(mButton, SIGNAL(clicked()), this, SLOT(onClicked())); // Add the controls to the recipe Container and set it as root. recipeContainer->add(introText); recipeContainer->add(smashContainer); recipeContainer->add(mButton); setRoot(recipeContainer); }
bool Paddle::mouseOver(TextArea& textarea, vec2& mouse) { if(pos.x <= mouse.x && pos.x + width >= mouse.x && abs(pos.y - mouse.y) < height/2) { std::vector<std::string> content; content.push_back( token ); textarea.setText(content); textarea.setPos(mouse); textarea.setColour(vec3(colour)); return true; } return false; }
ProgressIndicatorRecipe::ProgressIndicatorRecipe(Container *parent) : CustomControl(parent) { // The recipe Container. Container *recipeContainer = new Container(); StackLayout *recipeLayout = new StackLayout(); recipeLayout->setLeftPadding(20.0); recipeLayout->setRightPadding(20.0); recipeContainer->setLayout(recipeLayout); // The introduction text. TextArea *introText = new TextArea(); introText->setText((const QString) "Drag the slider to change the ProgressIndicator"); introText->setEditable(false); introText->textStyle()->setColor(Color::Gray); introText->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); introText->setBottomMargin(100); mProgressIndicator = new ProgressIndicator(); mProgressIndicator->setFromValue(0); mProgressIndicator->setToValue(100); connect(mProgressIndicator, SIGNAL(valueChanged(float)), this, SLOT(onValueChanged(float))); // Create a Slider and connect a slot to the signal for Slider value changing. Slider *slider = new Slider(); slider->setTopMargin(100); slider->setFromValue(0); slider->setToValue(100); // Connect the Slider value directly to the value property of the ProgressIndicator. QObject::connect(slider, SIGNAL(valueChanging(float)), mProgressIndicator, SLOT(setValue(float))); // Create a Slider and connect a slot to the signal for Slider value changing. mButton = new Button(); mButton->setText((const QString) "Pause"); connect(mButton, SIGNAL(clicked()), this, SLOT(onClicked())); // Add the controls to the recipe Container and set it as root. recipeContainer->add(introText); recipeContainer->add(mProgressIndicator); recipeContainer->add(slider); recipeContainer->add(mButton); setRoot(recipeContainer); }
ActivityIndicatorRecipe::ActivityIndicatorRecipe(Container *parent) : CustomControl(parent) { // The recipe Container. Container *recipeContainer = new Container(); StackLayout *recipeLayout = new StackLayout(); recipeLayout->setLeftPadding(20.0); recipeLayout->setRightPadding(20.0); recipeContainer->setLayout(recipeLayout); // The introduction text. TextArea *introText = new TextArea(); introText->setText((const QString) "This is a milk boiling simulator recepie"); introText->setEditable(false); introText->textStyle()->setColor(Color::Gray); introText->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); introText->setBottomMargin(100); Container* smashContainer = new Container(); smashContainer->setLayout(new DockLayout()); // This the big image that was taking during the night // it's at the same position as the day one, but further from the viewer. mUnbroken = ImageView::create("asset:///images/stockcurve/egg.png"); // Center it using dock layout info. mUnbroken->setLayoutProperties( DockLayoutProperties::create() .horizontal(HorizontalAlignment::Center) .vertical(VerticalAlignment::Center)); // Since this image is on top of the night one, we can hide the // night image with changing the opacity value of this image. mBroken = ImageView::create("asset:///images/stockcurve/broken_egg.png").opacity(0.0); // Center it using dock layout info. mBroken->setLayoutProperties( DockLayoutProperties::create() .horizontal(HorizontalAlignment::Center) .vertical(VerticalAlignment::Center)); mActivityIndicator = new ActivityIndicator(); mActivityIndicator->setPreferredSize(130, 130); smashContainer->add(mUnbroken); smashContainer->add(mActivityIndicator); smashContainer->add(mBroken); mButton = new Button(); mButton->setTopMargin(100); mButton->setText((const QString) "start cooking"); connect(mButton, SIGNAL(clicked()), this, SLOT(onClicked())); // Add the controls to the recipe Container and set it as root. recipeContainer->add(introText); recipeContainer->add(smashContainer); recipeContainer->add(mButton); setRoot(recipeContainer); }