Page 1 of 1

Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Sat Apr 22, 2017 9:50 am
by cutecode
Какой параметр в wxAuiToolBar отвечает за добавление в список невидимых элементов?
В примере для AUI.
Если я изменяю размер окна, то невидимые элементы для tb4 попадают в список, а для tb3 такого свойства нет

Code: Select all

    wxAuiToolBar* tb3 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                         wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
    tb3->SetToolBitmapSize(wxSize(16,16));
    wxBitmap tb3_bmp1 = wxArtProvider::GetBitmap(wxART_FOLDER, wxART_OTHER, wxSize(16,16));
    tb3->AddTool(ID_SampleItem+16, wxT("Check 1"), tb3_bmp1, wxT("Check 1"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+17, wxT("Check 2"), tb3_bmp1, wxT("Check 2"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+18, wxT("Check 3"), tb3_bmp1, wxT("Check 3"), wxITEM_CHECK);
    tb3->AddTool(ID_SampleItem+19, wxT("Check 4"), tb3_bmp1, wxT("Check 4"), wxITEM_CHECK);
    tb3->AddSeparator();
    tb3->AddTool(ID_SampleItem+20, wxT("Radio 1"), tb3_bmp1, wxT("Radio 1"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+21, wxT("Radio 2"), tb3_bmp1, wxT("Radio 2"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+22, wxT("Radio 3"), tb3_bmp1, wxT("Radio 3"), wxITEM_RADIO);
    tb3->AddSeparator();
    tb3->AddTool(ID_SampleItem+23, wxT("Radio 1 (Group 2)"), tb3_bmp1, wxT("Radio 1 (Group 2)"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+24, wxT("Radio 2 (Group 2)"), tb3_bmp1, wxT("Radio 2 (Group 2)"), wxITEM_RADIO);
    tb3->AddTool(ID_SampleItem+25, wxT("Radio 3 (Group 2)"), tb3_bmp1, wxT("Radio 3 (Group 2)"), wxITEM_RADIO);
    tb3->SetCustomOverflowItems(prepend_items, append_items);
    tb3->Realize();


    wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                         wxAUI_TB_DEFAULT_STYLE |
                                         wxAUI_TB_OVERFLOW |
                                         wxAUI_TB_TEXT |
                                         wxAUI_TB_HORZ_TEXT);
    tb4->SetToolBitmapSize(wxSize(16,16));
    wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
    tb4->AddTool(ID_DropDownToolbarItem, wxT("Item 1"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+23, wxT("Item 2"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+24, wxT("Item 3"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+25, wxT("Item 4"), tb4_bmp1);
    tb4->AddSeparator();
    tb4->AddTool(ID_SampleItem+26, wxT("Item 5"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+27, wxT("Item 6"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+28, wxT("Item 7"), tb4_bmp1);
    tb4->AddTool(ID_SampleItem+29, wxT("Item 8"), tb4_bmp1);
    tb4->SetToolDropDown(ID_DropDownToolbarItem, true);
    tb4->SetCustomOverflowItems(prepend_items, append_items);
    wxChoice* choice = new wxChoice(tb4, ID_SampleItem+35);
    choice->AppendString(wxT("One choice"));
    choice->AppendString(wxT("Another choice"));
    tb4->AddControl(choice);
    tb4->Realize();


Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 2:15 pm
by ONEEYEMAN
Dobrogo vremeni sutok,
Proverjali wxAUI_TB_GRIPPER? wxAUI_TB_OVERFLOW?

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 4:59 pm
by cutecode
1. судя по скрину GRIPPER есть у обоих
2. судя по коду wxAUI_TB_OVERFLOW тоже стоит у обоих

так что это не выход

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 6:17 pm
by ONEEYEMAN
A v chem otlichie v primerah?
A esche poprobujte vyzvat SetCustomOverflowItems() a posle nego dobavit tools/controls v toolbar.

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 6:28 pm
by cutecode
Бррррр....

я сам не пойму, почему один toolbar показывает не видимые, а другой не показывает

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 6:33 pm
by ONEEYEMAN
Po moemu nugno vyzvat SetCustomOverflowItems() a potom dobavit esche tools/controls v toolbar.
Kagetsja eto edinstvennoe otlichie - vo vtorom sluchae posle vyzova etoj funkcii dobavljaetsja kontrol.

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 6:47 pm
by cutecode
Не помогло

Code: Select all

    tb3->SetCustomOverflowItems(prepend_items, append_items);
	wxChoice* choice = new wxChoice(tb3, ID_SampleItem + 35);
	choice->AppendString(wxT("One choice"));
	choice->AppendString(wxT("Another choice"));
	tb3->AddControl(choice);
	tb3->Realize();

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Mon Apr 24, 2017 7:06 pm
by cutecode
походу, он добавляет только wxITEM_NORMAL
другие он игнорирует

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Wed May 10, 2017 1:23 pm
by cutecode
хотелось бы узнать это "глюка"? или так задумано?

Если пишу wxITEM_NORMAL то отображает невидимые
Если пишу wxITEM_CHECK или wxITEM_RADIO, то они в список невидимых не попадают

Re: Как увидеть не умещающиеся элементы в wxAuiToolBar

Posted: Wed May 10, 2017 1:46 pm
by ONEEYEMAN
Skoree vsego bag.
Vot tolko fixit ego nekomu - avtory wxAUI otoshli ot etogo i neizvestno kogda vernutsja i vernutsja li.

Naibolee verojaten ishod - esli nugno chtoby rabotalo - fiksit samomu. ;-)

I samoe obidnoe chto svjazi s nimi nikakoj. A poddergivat biblioteku nugno. Tam ved dage documentacii iznachalno nebylo nilakoj.