2019-10-24 06:36:42 -07:00
|
|
|
/*
|
|
|
|
* Copyright 2019 by its authors. See AUTHORS.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
2017-11-05 21:25:22 -08:00
|
|
|
// g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` radio_cxx_example_01.cc -o radio_cxx_example_01
|
|
|
|
|
2017-11-22 00:17:04 -08:00
|
|
|
#define EFL_CXXPERIMENTAL
|
2019-07-09 01:13:27 -07:00
|
|
|
#ifndef EFL_BETA_API_SUPPORT
|
2019-03-11 08:34:45 -07:00
|
|
|
#define EFL_BETA_API_SUPPORT
|
2019-07-09 01:13:27 -07:00
|
|
|
#endif
|
2019-05-02 11:08:04 -07:00
|
|
|
#include <Efl_Ui.hh>
|
2017-11-05 21:25:22 -08:00
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
using efl::eo::instantiate;
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
static void
|
|
|
|
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
2014-12-16 13:04:43 -08:00
|
|
|
{
|
|
|
|
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Win win(instantiate);
|
|
|
|
win.text_set("Radio Example");
|
2014-12-16 13:04:43 -08:00
|
|
|
win.autohide_set(true);
|
|
|
|
|
2019-05-29 11:06:25 -07:00
|
|
|
efl::ui::Radio_Box bx(instantiate, win);
|
2019-05-24 09:30:31 -07:00
|
|
|
bx.orientation_set(EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL);
|
2017-11-05 21:25:22 -08:00
|
|
|
win.content_set(bx);
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Radio radio(instantiate, win);
|
|
|
|
efl::ui::Radio group = radio;
|
|
|
|
radio.text_set("Radio 1");
|
2014-12-16 13:04:43 -08:00
|
|
|
radio.state_value_set(1);
|
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Image ic(instantiate, win);
|
|
|
|
ic.icon_set("home");
|
|
|
|
radio.content_set(ic);
|
|
|
|
bx.pack_end(radio);
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2019-05-29 11:06:25 -07:00
|
|
|
auto cb_val = std::bind([bx] (efl::ui::Radio &obj EINA_UNUSED)
|
|
|
|
{ std::cout << "val is now: " << bx.selected_value_get() << std::endl; },
|
2017-11-05 21:25:22 -08:00
|
|
|
std::placeholders::_1);
|
2019-06-26 06:55:41 -07:00
|
|
|
efl::eolian::event_add(efl::ui::Radio_Group::value_changed_event, radio, cb_val);
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Radio radio2(instantiate, win);
|
|
|
|
radio2.text_set("Radio 2");
|
2014-12-16 13:04:43 -08:00
|
|
|
radio2.state_value_set(2);
|
2017-11-05 21:25:22 -08:00
|
|
|
|
|
|
|
efl::ui::Image ic2(instantiate, win);
|
|
|
|
ic2.icon_set("file");
|
|
|
|
radio2.content_set(ic2);
|
2014-12-16 13:04:43 -08:00
|
|
|
bx.pack_end(radio2);
|
2019-06-26 06:55:41 -07:00
|
|
|
efl::eolian::event_add(efl::ui::Radio_Group::value_changed_event, radio2, cb_val);
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Radio radio3(instantiate, win);
|
|
|
|
radio3.text_set("Radio 3");
|
2014-12-16 13:04:43 -08:00
|
|
|
radio3.state_value_set(3);
|
|
|
|
bx.pack_end(radio3);
|
2019-06-26 06:55:41 -07:00
|
|
|
efl::eolian::event_add(efl::ui::Radio_Group::value_changed_event, radio3, cb_val);
|
2014-12-16 13:04:43 -08:00
|
|
|
|
2017-11-05 21:25:22 -08:00
|
|
|
efl::ui::Radio radio4(instantiate, win);
|
|
|
|
radio4.text_set("Radio 4");
|
2014-12-16 13:04:43 -08:00
|
|
|
radio4.state_value_set(4);
|
|
|
|
bx.pack_end(radio4);
|
2019-06-26 06:55:41 -07:00
|
|
|
efl::eolian::event_add(efl::ui::Radio_Group::value_changed_event, radio4, cb_val);
|
2014-12-16 13:04:43 -08:00
|
|
|
}
|
2017-11-05 21:25:22 -08:00
|
|
|
EFL_MAIN()
|