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

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post 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();

Attachments
Безымянный2.png
Безымянный2.png (8.37 KiB) Viewed 4843 times
Безымянный.png
Безымянный.png (17.46 KiB) Viewed 4843 times
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN »

Dobrogo vremeni sutok,
Proverjali wxAUI_TB_GRIPPER? wxAUI_TB_OVERFLOW?
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

1. судя по скрину GRIPPER есть у обоих
2. судя по коду wxAUI_TB_OVERFLOW тоже стоит у обоих

так что это не выход
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN »

A v chem otlichie v primerah?
A esche poprobujte vyzvat SetCustomOverflowItems() a posle nego dobavit tools/controls v toolbar.
Last edited by ONEEYEMAN on Mon Apr 24, 2017 6:31 pm, edited 1 time in total.
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

Бррррр....

я сам не пойму, почему один toolbar показывает не видимые, а другой не показывает
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post 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.
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post 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();
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

походу, он добавляет только wxITEM_NORMAL
другие он игнорирует
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

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

Post by cutecode »

хотелось бы узнать это "глюка"? или так задумано?

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

regards,
Alexander Saprykin
https://v2.dental-soft.ru
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post 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.
Post Reply