void buttonClicked (Button* b) override { if (cameraDevice != nullptr) { if (b == &recordMovieButton) { // The user has clicked the record movie button.. if (! recordingMovie) { // Start recording to a file on the user's desktop.. recordingMovie = true; File file (File::getSpecialLocation (File::userDesktopDirectory) .getNonexistentChildFile ("JuceCameraDemo", CameraDevice::getFileExtension())); cameraDevice->startRecordingToFile (file); recordMovieButton.setButtonText ("Stop Recording"); } else { // Already recording, so stop... recordingMovie = false; cameraDevice->stopRecording(); recordMovieButton.setButtonText ("Start recording (to a file on your desktop)"); } } else { // When the user clicks the snapshot button, we'll attach ourselves to // the camera as a listener, and wait for an image to arrive... cameraDevice->addListener (this); } } }
LookAndFeelDemoComponent() { addAndMakeVisible (rotarySlider); rotarySlider.setSliderStyle (Slider::RotaryHorizontalVerticalDrag); rotarySlider.setTextBoxStyle (Slider::NoTextBox, false, 0, 0); rotarySlider.setValue (2.5); addAndMakeVisible (verticalSlider); verticalSlider.setSliderStyle (Slider::LinearVertical); verticalSlider.setTextBoxStyle (Slider::NoTextBox, false, 90, 20); verticalSlider.setValue (6.2); addAndMakeVisible (barSlider); barSlider.setSliderStyle (Slider::LinearBar); barSlider.setValue (4.5); addAndMakeVisible (incDecSlider); incDecSlider.setSliderStyle (Slider::IncDecButtons); incDecSlider.setRange (0.0, 10.0, 1.0); incDecSlider.setIncDecButtonsMode (Slider::incDecButtonsDraggable_Horizontal); incDecSlider.setTextBoxStyle (Slider::TextBoxBelow, false, 90, 20); addAndMakeVisible (button1); button1.setButtonText ("Hello World!"); addAndMakeVisible (button2); button2.setButtonText ("Hello World!"); button2.setClickingTogglesState (true); button2.setToggleState (true, dontSendNotification); addAndMakeVisible (button3); button3.setButtonText ("Hello World!"); addAndMakeVisible (button4); button4.setButtonText ("Toggle Me"); button4.setToggleState (true, dontSendNotification); for (int i = 0; i < 3; ++i) { TextButton* b = radioButtons.add (new TextButton()); addAndMakeVisible (b); b->setRadioGroupId (42); b->setClickingTogglesState (true); b->setButtonText ("Button " + String (i + 1)); switch (i) { case 0: b->setConnectedEdges (Button::ConnectedOnRight); break; case 1: b->setConnectedEdges (Button::ConnectedOnRight + Button::ConnectedOnLeft); break; case 2: b->setConnectedEdges (Button::ConnectedOnLeft); break; default: break; } } radioButtons.getUnchecked (2)->setToggleState (true, dontSendNotification); }
//============================================================================== Copier::Copier( ChaseManager* chaseManager ) : chaseManager( chaseManager ) { //create 4 buttons for x1, x2, x4 and x8 for ( int i = 0; i < 4; i++ ) { TextButton* b = new TextButton( String( i ) ); b->setButtonText( "x" + String( pow( 2, i ) ) ); ColourLookAndFeel claf; b->setColour( TextButton::buttonColourId, claf.backgroundColour ); b->addListener( this ); addAndMakeVisible( b ); buttons.add( b ); } }
//============================================================================== PagePickerComponent::PagePickerComponent (int page_) : page (page_) { for (int n=0 ; n < 24 ; n++) { TextButton* button = new TextButton(); addAndMakeVisible (button); button->setButtonText (String (n + 1)); button->setWantsKeyboardFocus (false); if (n == page) { button->setColour (TextButton::buttonColourId, Colours::lightblue); } else { button->setColour (TextButton::buttonColourId, Colours::blue); button->setColour (TextButton::textColourOffId, Colours::white); } button->addListener (this); buttons.add(button); } }
DialogsDemo() { setOpaque (true); addAndMakeVisible (nativeButton); nativeButton.setButtonText ("Use Native Windows"); nativeButton.addListener (this); static const char* windowNames[] = { "Plain Alert Window", "Alert Window With Warning Icon", "Alert Window With Info Icon", "Alert Window With Question Icon", "OK Cancel Alert Window", "Alert Window With Extra Components", "CalloutBox", "Thread With Progress Window", "'Load' File Browser", "'Load' File Browser With Image Preview", "'Choose Directory' File Browser", "'Save' File Browser" }; // warn in case we add any windows jassert (numElementsInArray (windowNames) == numDialogs); for (int i = 0; i < numDialogs; ++i) { TextButton* newButton = new TextButton(); windowButtons.add (newButton); addAndMakeVisible (newButton); newButton->setButtonText (windowNames[i]); newButton->addListener (this); } }