Exemple #1
0
 public static void nk_combobox_callback(this NuklearContext ctx, NkComboCallback item_getter, ref int selected,
                                         int count, int item_height, Vector2 size)
 {
     selected =
         nk_combo_callback(ctx, item_getter, selected, count, item_height,
                           size);
 }
        public void ComboboxCallback(NkComboCallback item_getter, IntPtr userdata, ref int selected, int count,
                                     int item_height, NkVec2 size)
        {
            int s = selected;

            Nk.nk_combobox_callback(_ctx, item_getter, userdata.ToPointer(), &s, count, item_height, size);
            selected = s;
        }
Exemple #3
0
        public static int nk_combo_callback(this NuklearContext ctx, NkComboCallback item_getter, int selected,
                                            int count, int item_height, Vector2 size)
        {
            int    i;
            int    max_height;
            var    item_spacing   = new Vector2();
            var    window_padding = new Vector2();
            string item;

            if (ctx == null || item_getter == null)
            {
                return(selected);
            }
            item_spacing   = ctx.style.window.spacing;
            window_padding = nk_panel_get_padding(ctx.style, ctx.current.Layout.Type);
            max_height     = count * item_height + count * (int)item_spacing.Y;
            max_height    += (int)item_spacing.Y * 2 + (int)window_padding.Y * 2;
            size.Y         = size.Y < (float)max_height ? size.Y : max_height;
            item_getter(selected, out item);
            if (ComboBeginLabel(ctx, item, size))
            {
                ctx.LayoutRowDynamic(item_height, 1);
                for (i = 0; i < count; ++i)
                {
                    item_getter(i, out item);
                    if (ComboItemLabel(ctx, item, nk_text_align.NK_TEXT_LEFT))
                    {
                        selected = i;
                    }
                }

                ComboEnd(ctx);
            }

            return(selected);
        }
 public bool ComboCallback(NkComboCallback item_getter, IntPtr userdata, int selected, int count,
                           int item_height, NkVec2 size)
 {
     return(Nk.nk_combo_callback(_ctx, item_getter, userdata.ToPointer(), selected, count, item_height, size) != 0);
 }