Example #1
0
bool Application::onCreate()
{
	// Get a pointer to the menu of the main window
	Menu &menu = *FrameWindow::inst()->createMainMenu();

	// Create a new drop down menu
	Menu *pFileMenu = menu.addMenuItem("File", 1, makeFunctor(*this, &Application::onMenu));

	// Add menu items to this menu.
	pFileMenu->addMenuItem("Open image", 101, makeFunctor(*this, &Application::onMenu));
	pFileMenu->addMenuItem("Save image", 102, makeFunctor(*this, &Application::onMenu));
	pFileMenu->addMenuItem("Save image as..", 103, makeFunctor(*this, &Application::onMenu));
	pFileMenu->addSeparator();
	pFileMenu->addMenuItem("Page Setup", 104, makeFunctor(*this, &Application::onMenu));
	pFileMenu->addMenuItem("Print Preview", 105, makeFunctor(*this, &Application::onMenu));
	pFileMenu->addSeparator();
	pFileMenu->addMenuItem("Exit", 106, makeFunctor(*this, &Application::onMenu));
	
	Menu *pMenu2 = menu.addMenuItem("Menu 02", 2, makeFunctor(*this, &Application::onMenu));
	pMenu2->addMenuItem("Item 1", 201, makeFunctor(*this, &Application::onMenu));
	pMenu2->addMenuItem("Item 2", 202, makeFunctor(*this, &Application::onMenu));

	// create a child window
	m_wnd1.create(30, 50, 420, 400, "child window");
	FrameWindow::inst()->addComponent(&m_wnd1);

	return true;
}
Example #2
0
int main(int argc, char *argv[])
{
	// initialize glut
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);

	// create the main window
	glutInitWindowPosition(30,30);
	glutInitWindowSize(800,600);
	glutCreateWindow("beGUI GLUT Example");

	// set the display function
	glutDisplayFunc(renderScene);
	glutIdleFunc(renderScene);

	// resize function
	glutReshapeFunc(changeSize);

	// handle mouse events
	glutMouseFunc(processMouse);
	glutMotionFunc(processMouseActiveMotion);
	glutPassiveMotionFunc(processMousePassiveMotion);

	// initialize beGUI subsystems
	initBeGUI();

	// create the beGUI window
	myWindow.create(20, 20, 200, 200, "test");
	myBtn1.create(20, 20, "Show Modal Dialog", 101, makeFunctor((Functor1<int>*)0, &onButtonClick));
	myWindow.addComponent(&myBtn1);
	myList1.create(20, 50, 160, 100, ListBox::SINGLE_SELECT);
	myList1.handleOnItemSelect(makeFunctor((Functor1<int>*)0, &onListSelect));
	myList1.addItem("White");
	myList1.addItem("Red");
	myList1.addItem("Orange");
	myList1.addItem("Green");
	myList1.addItem("Yellow");
	myList1.addItem("Blue");
	myList1.addItem("Purple");
	myList1.addItem("Grey");
	myWindow.addComponent(&myList1);

	// create a container to hold all beGUI components
	mainContainer.setPos(0,0);
	mainContainer.setSize(800, 600);
	mainContainer.addComponent(&myWindow);

	// create a modal dialog
	myModalDlg.create(100, 100, 300, 300, "Modal Dialog");
	myDlgBtn1.create(30, 30, "Close Dialog", 10001, makeFunctor((Functor1<int>*)0, &onCloseDlg));
	myModalDlg.addComponent(&myDlgBtn1);

	// start the main loop
	glutMainLoop();

	return 0;
}
GUIframe* GUIsharingDialog::CreateControl(const std::string& type, int x, int y, int w, int h, TdfParser& parser)
{
	GUIframe *frame=NULL;
	if(type=="slider")
	{
		GUIslider *slider=new GUIslider(x, y, w, 100, makeFunctor((Functor2<GUIslider*, int>*)0, *this, &GUIsharingDialog::SliderChanged));
		
		frame=slider;
	}
	
	
	return frame;
}
Example #4
0
void Application::onMenu(int id)
{
	switch (id)
	{
	case 101:
		m_dlg1.create(30, 30, 300, 300, "test_dialog");
		m_dlgBtn1.create(30, 30, "Close", 10001, makeFunctor(*this, &Application::onMenu));
		m_dlg1.addComponent(&m_dlgBtn1);
		m_dlg1.showModal();
		break;
	case 10001:
		m_dlg1.close();
		break;
	case 106:
		exit(0);
		break;
	}
}
void GUItable::ChangeList(const vector<string>* contents)
{
	// we kill of the scroll bar
	if(bar)
		RemoveChild(bar);

	data.clear();

	// add the new contents
	if(contents)
		data.insert(data.begin(), contents->begin(), contents->end());

	numEntries = data.size();

	width=w;

	if(numEntries>numLines)
	{
		width=w-KNOB_SIZE;	
		// and now we add a new one with the right proportions
		bar=new GUIscrollbar(width, 0, h, numEntries-numLines+1, makeFunctor((Functor1<int> *)0, *this, &GUItable::Scrolled));
		AddChild(bar);
	}
}
Example #6
0
int main()
{
  int n = 2;
  double x[2];
  double l[2];
  double u[2];
  long nbd[2];
  nbd[0] = 0;
  nbd[1] = 0;
  x[0] = 1.;
  x[1] = 0.;
//  cout << "guesses? ";
//  cin >> x[0] >> x [1];

  double f = lbfgsb_SS(makeFunctor((VOF*)0, SS), n, n, x, l, u, nbd);

  cout << "lbfgsb_SS results" << endl;
  cout << "solution  = " << setw(10) << x[0] << setw(10) << x[1] << endl;
  cout << "SS = " << f << endl;
  cout << "reference results from IBM PC/AT" << endl;
  cout << "estimate of solution   2.000000    1.000000" << endl;
  cout << "values of nonlinear functions   0.0000e+00  0.0000e+00" << endl;
  return 0;
}
Example #7
0
void ChildWnd1::onCreate()
{
	// create the tabs
	m_tabs.create(8, 8, 400, 360);
	m_tabs.addTab("tab 1");
	m_tabs.addTab("tab 2");
	m_tabs.addTab("Buttons");
	m_tabs.addTab("Radio Buttons");
	m_tabs.addTab("Comboboxes");
	addComponent(&m_tabs);

	// create a simple push button
	m_button1.create(260, 40, "Button", 1);
	//m_button1.create(260, 40, 80, 60, "Button", 1);
	m_button1.setIcon(ResourceManager::inst()->loadImage("gears.png"), Button::NEAR_LEFT, 32,32);
	//m_button1.setFace(Button::UP, ResourceManager::inst()->loadImage("gears.png"));
	m_tabs.addComponent(&m_button1, 0);

	m_button2.create(40, 70, "Button2", 201);
	m_button2.disable();
	m_button3.create(40, 100, "Button3", 202);
	m_button3.repeatClickOnHold(true);
	m_button3.handleButtonDown(makeFunctor(*Application::inst(), &Application::onButtonDown));
	m_button4.create(40, 130, "Button4", 203, makeFunctor(*Application::inst(), &Application::onClick));
	m_button4.setFace(Button::UP, ResourceManager::inst()->loadImage("gears.png"));
	m_button4.setTextColor(Color(0.2f, 0.2f, 0.2f));
	m_button5.create(240, 130, "Button5", 203);
	m_button5.setFace(Button::UP, ResourceManager::inst()->loadImage("gears.png"));
	m_button5.setSize(100, 20);
	m_button5.setTextColor(Color(0.2f, 0.2f, 0.2f));
	//m_tabs.addComponent(&m_button1, 2);
	m_tabs.addComponent(&m_button2, 2);
	m_tabs.addComponent(&m_button3, 2);
	m_tabs.addComponent(&m_button4, 2);
	m_tabs.addComponent(&m_button5, 2);

	m_checkbox1.create(260, 70, "check here", 102);
	m_tabs.addComponent(&m_checkbox1, 0);

	m_label1.create(260, 90, "eò á !@#$%^&*()");
//	m_tabs.addComponent(&m_label1, 0);

	// create a group of radio buttons
	m_radio1.create(20, 20, "Radio Button 1", 2);
	m_radio2.create(20, 40, "Radio Button 2", 3);
	m_group.create(20, 20, 200, 80, "Radio group");
	m_group.addComponent(&m_radio1);
	m_group.addComponent(&m_radio2);
	m_tabs.addComponent(&m_group, 0);

	// create a slider (also an example of using a live
	// variable)
	m_slider.create(20, 120, 300, 4);
	m_slider.bindValue(&m_sliderPos);
	m_slider.setBounds(0, 10, 2, 20);
	m_tabs.addComponent(&m_slider, 0);

	// create a textbox
	m_textbox.create(230, 160, 130, 180, true, true);
	m_textbox.setText("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.");
	m_tabs.addComponent(&m_textbox, 0);
	
	m_listbox1.create(20, 140, 200, 200, ListBox::MULTI_SELECT_SINGLECLICK);
	m_listbox1.addItem("item 1");
	m_listbox1.addItem("disabled item 2");
	m_listbox1.addItem("item 3");
	m_listbox1.addItem("item 4");
	m_listbox1.addItem("item 5");
	for (size_t i=0; i<20; ++i)
		m_listbox1.addItem("item");
	m_listbox1.addItem("last item");
	m_listbox1.disableItem(1);
	int t1 = m_listbox1.getCurrentItem();
	m_listbox1.setCurrentItem(3);
	m_listbox1.selectItem(2, true);
	int t2 = m_listbox1.getCurrentItem();
	Console::print("%d %d\n", t1,t2);
	m_tabs.addComponent(&m_listbox1, 0);

	m_combobox1.create(230, 140, 80, 200);
	m_combobox1.addItem("item 1");
	m_combobox1.addItem("item 2");
	m_combobox1.addItem("item 3");
	m_combobox1.addItem("item 4");
	m_combobox1.disableItem(2);
	m_combobox1.setCurrentItem(1);
	/*m_combobox2.create(230, 120, 80, 200);
	m_combobox2.addItem("item 1");
	m_tabs.addComponent(&m_combobox2, 0);*/
	m_tabs.addComponent(&m_combobox1, 0);

	// create a test viewport
	Viewport vp;
	vp.setPerspectiveProj(0.1f, 100.0f, 45.0f);
	m_vp.create(40, 40, 300, 300, vp, makeFunctor(*Application::inst(), &Application::onRenderVp));
	m_tabs.addComponent(&m_vp, 1);

	// change the size of the window, so that the client area is large
	// enough to hold the contents
	setClientAreaSize(416, 410);
}
void BoardLedController::setup()
{
  // Server Setup
  modular_server_.setup();

  // Pin Setup
  pinMode(constants::led_pin, OUTPUT);

  // Add Server Streams
  modular_server_.addServerStream(Serial);

  // Set Device ID
  modular_server_.setDeviceName(constants::device_name);
  modular_server_.setFormFactor(constants::form_factor);

  // Add Hardware
  modular_server_.addHardware(constants::hardware_info,
                              interrupts_);

  // Interrupts

  // Add Firmware
  modular_server_.addFirmware(constants::firmware_info,
                              properties_,
                              parameters_,
                              functions_,
                              callbacks_);

  // Properties

  // Parameters
  modular_server::Parameter & duration_on_parameter = modular_server_.createParameter(constants::duration_on_parameter_name);
  duration_on_parameter.setUnits(constants::seconds_unit);
  duration_on_parameter.setRange(constants::duration_min,constants::duration_max);

  modular_server::Parameter & duration_off_parameter = modular_server_.copyParameter(duration_on_parameter,constants::duration_off_parameter_name);

  modular_server::Parameter & count_parameter = modular_server_.createParameter(constants::count_parameter_name);
  count_parameter.setRange(constants::count_min,constants::count_max);

  // Functions
  modular_server::Function & led_on_function = modular_server_.createFunction(constants::led_on_function_name);
  led_on_function.attachFunctor(makeFunctor((Functor0 *)0,*this,&BoardLedController::setLedOnHandler));

  modular_server::Function & led_off_function = modular_server_.createFunction(constants::led_off_function_name);
  led_off_function.attachFunctor(makeFunctor((Functor0 *)0,*this,&BoardLedController::setLedOffHandler));

  modular_server::Function & get_led_pin_function = modular_server_.createFunction(constants::get_led_pin_function_name);
  get_led_pin_function.attachFunctor(makeFunctor((Functor0 *)0,*this,&BoardLedController::getLedPinHandler));
  get_led_pin_function.setReturnTypeLong();

  modular_server::Function & blink_led_function = modular_server_.createFunction(constants::blink_led_function_name);
  blink_led_function.attachFunctor(makeFunctor((Functor0 *)0,*this,&BoardLedController::blinkLedHandler));
  blink_led_function.addParameter(duration_on_parameter);
  blink_led_function.addParameter(duration_off_parameter);
  blink_led_function.addParameter(count_parameter);

  // Functions

  // Callbacks

  // Begin Streams
  Serial.begin(constants::baudrate);

  // Start Modular Device Server
  modular_server_.startServer();
}
void CallbackTester::setup()
{
  // Server Setup
  modular_server_.setup();

  // Add Server Streams
  modular_server_.addServerStream(Serial);

  // Set Device ID
  modular_server_.setDeviceName(constants::device_name);
  modular_server_.setFormFactor(constants::form_factor);

  // Add Hardware
  modular_server_.addHardware(constants::hardware_info,
    pins_);

  // Pins
  modular_server::Pin & led_pin = modular_server_.createPin(constants::led_pin_name,constants::led_pin_number);
  led_pin.setModeDigitalOutput();

  blinker_.setup(led_pin);

  modular_server::Pin & bnc_a_pin = modular_server_.createPin(constants::bnc_a_pin_name,
    constants::bnc_a_pin_number);

  modular_server::Pin & bnc_b_pin = modular_server_.createPin(constants::bnc_b_pin_name,
    constants::bnc_b_pin_number);

  modular_server::Pin & bnc_c_pin = modular_server_.createPin(constants::bnc_c_pin_name,
    constants::bnc_c_pin_number);

  modular_server::Pin & bnc_d_pin = modular_server_.createPin(constants::bnc_d_pin_name,
    constants::bnc_d_pin_number);

  modular_server::Pin & bnc_e_pin = modular_server_.createPin(constants::bnc_e_pin_name,
    constants::bnc_e_pin_number);

  modular_server::Pin & bnc_f_pin = modular_server_.createPin(constants::bnc_f_pin_name,
    constants::bnc_f_pin_number);

  // Add Firmware
  modular_server_.addFirmware(constants::firmware_info,
    properties_,
    parameters_,
    functions_,
    callbacks_);

  // Properties
  modular_server::Property & duration_on_property = modular_server_.createProperty(constants::duration_on_property_name,constants::duration_on_default);
  duration_on_property.setUnits(constants::seconds_unit);
  duration_on_property.setRange(constants::duration_min,constants::duration_max);

  modular_server::Property & duration_off_property = modular_server_.createProperty(constants::duration_off_property_name,constants::duration_off_default);
  duration_off_property.setUnits(constants::seconds_unit);
  duration_off_property.setRange(constants::duration_min,constants::duration_max);

  modular_server::Property & count_property = modular_server_.createProperty(constants::count_property_name,constants::count_default);
  count_property.setRange(constants::count_min,constants::count_max);

  // Parameters

  // Functions

  // Callbacks
  modular_server::Callback & set_led_on_callback = modular_server_.createCallback(constants::set_led_on_callback_name);
  set_led_on_callback.attachFunctor(makeFunctor((Functor1<modular_server::Pin *> *)0,*this,&CallbackTester::setLedOnHandler));
  set_led_on_callback.attachTo(bnc_a_pin,modular_server::constants::pin_mode_interrupt_falling);
  set_led_on_callback.attachTo(bnc_c_pin,modular_server::constants::pin_mode_interrupt_falling);

  modular_server::Callback & set_led_off_callback = modular_server_.createCallback(constants::set_led_off_callback_name);
  set_led_off_callback.attachFunctor(makeFunctor((Functor1<modular_server::Pin *> *)0,*this,&CallbackTester::setLedOffHandler));
  set_led_off_callback.attachTo(bnc_b_pin,modular_server::constants::pin_mode_interrupt_falling);
  set_led_off_callback.attachTo(bnc_d_pin,modular_server::constants::pin_mode_interrupt_falling);
  set_led_off_callback.attachTo(bnc_f_pin,modular_server::constants::pin_mode_interrupt_falling);

  modular_server::Callback & blink_led_callback = modular_server_.createCallback(constants::blink_led_callback_name);
  blink_led_callback.attachFunctor(makeFunctor((Functor1<modular_server::Pin *> *)0,*this,&CallbackTester::blinkLedHandler));
  blink_led_callback.addProperty(duration_on_property);
  blink_led_callback.addProperty(duration_off_property);
  blink_led_callback.addProperty(count_property);
  blink_led_callback.attachTo(bnc_e_pin,modular_server::constants::pin_mode_interrupt_falling);

  // Begin Streams
  Serial.begin(constants::baud);
}
void Interrupt::resetIsr()
{
  FunctorCallbacks::remove(isr_);
  isr_ = FunctorCallbacks::add(makeFunctor((Functor0 *)0,*this,&Interrupt::isrHandler));
}