//
// Code dialogs for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2023 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file.  If this
// file is missing or damaged, see the license at:
//
//     https://www.fltk.org/COPYING.php
//
// Please see the following page on how to report bugs and issues:
//
//     https://www.fltk.org/bugs.php
//

// generated by Fast Light User Interface Designer (fluid) version 1.0500

#include "function_panel.h"
#include "Fluid.h"
#include "proj/undo.h"
#include "nodes/Node.h"
#include "nodes/factory.h"
#include "rsrcs/pixmaps.h"
#include "widgets/Bin_Button.h"
#include "widgets/Node_Browser.h"

void type_make_cb(Fl_Widget*,void*d) {
  const char *type_name = (const char*)d;
  if (Fluid.proj.tree.current && Fluid.proj.tree.current->can_have_children())
    add_new_widget_from_user(type_name, Strategy::AS_LAST_CHILD);
  else
    add_new_widget_from_user(type_name, Strategy::AFTER_CURRENT);
}

Fl_Window *widgetbin_panel=(Fl_Window *)0;

static void cb_widgetbin_panel(Fl_Window*, void*) {
  if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape)
    Fluid.quit();
  else
    Fluid.toggle_widget_bin();
}

Fl_Window* make_widgetbin() {
  { widgetbin_panel = new Fl_Window(600, 102, "Widget Bin");
    widgetbin_panel->callback((Fl_Callback*)cb_widgetbin_panel);
    widgetbin_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
    { Fl_Group* o = new Fl_Group(3, 19, 79, 79, "Code");
      o->labelsize(12);
      { Fl_Button* o = new Fl_Button(5, 21, 24, 24);
        o->tooltip("Function");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Function"));
        o->image(pixmap[(int)Type::Function]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(30, 21, 24, 24);
        o->tooltip("Class");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Class"));
        o->image(pixmap[(int)Type::Class]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(55, 21, 24, 24);
        o->tooltip("Comment");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("comment"));
        o->image(pixmap[(int)Type::Comment]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(5, 46, 24, 24);
        o->tooltip("Code");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Code"));
        o->image(pixmap[(int)Type::Code]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(30, 46, 24, 24);
        o->tooltip("Code Block");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("CodeBlock"));
        o->image(pixmap[(int)Type::CodeBlock]);
      } // Fl_Button* o
      { fld::widget::Bin_Window_Button* o = new fld::widget::Bin_Window_Button(55, 46, 24, 24);
        o->tooltip("Widget Class");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("widget_class"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Widget_Class]);
      } // fld::widget::Bin_Window_Button* o
      { Fl_Button* o = new Fl_Button(5, 71, 24, 24);
        o->tooltip("Declaration");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("decl"));
        o->image(pixmap[(int)Type::Decl]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(30, 71, 24, 24);
        o->tooltip("Declaration Block");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("declblock"));
        o->image(pixmap[(int)Type::DeclBlock]);
      } // Fl_Button* o
      { Fl_Button* o = new Fl_Button(55, 71, 24, 24);
        o->tooltip("Inline Data");
        o->box(FL_THIN_UP_BOX);
        o->callback((Fl_Callback*)type_make_cb, (void*)("data"));
        o->image(pixmap[(int)Type::Data]);
      } // Fl_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(87, 19, 79, 79, "Groups");
      o->labelsize(12);
      { fld::widget::Bin_Window_Button* o = new fld::widget::Bin_Window_Button(89, 21, 24, 24);
        o->tooltip("Window");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Window"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Window]);
      } // fld::widget::Bin_Window_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(114, 21, 24, 24);
        o->tooltip("Group");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Group"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Group]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(139, 21, 24, 24);
        o->tooltip("Pack");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Pack"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Pack]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(89, 46, 24, 24);
        o->tooltip("Tabs");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tabs"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Tabs]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(114, 46, 24, 24);
        o->tooltip("Scroll");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scroll"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Scroll]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(139, 46, 24, 24);
        o->tooltip("Flex");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Flex"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Flex]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(89, 71, 24, 24);
        o->tooltip("Tile");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tile"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Tile]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(114, 71, 24, 24);
        o->tooltip("Wizard");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Wizard"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Wizard]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(139, 71, 24, 24);
        o->tooltip("Grid");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Grid"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Grid]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(171, 19, 54, 79, "Buttons");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(173, 21, 24, 24);
        o->tooltip("Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(198, 21, 24, 24);
        o->tooltip("Return Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Return_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Return_Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(173, 46, 24, 24);
        o->tooltip("Light Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Light_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Light_Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(198, 46, 24, 24);
        o->tooltip("Repeat Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Repeat_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Repeat_Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(173, 71, 24, 24);
        o->tooltip("Check Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Check_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Check_Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(198, 71, 24, 24);
        o->tooltip("Round Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Round_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Round_Button]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(230, 19, 104, 79, "Valuators");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(232, 21, 24, 24);
        o->tooltip("Slider");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Slider"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Slider]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(257, 21, 24, 24);
        o->tooltip("Scroll Bar");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scrollbar"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Scrollbar]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(282, 21, 24, 24);
        o->tooltip("Value Slider");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Slider"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Value_Slider]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(307, 21, 24, 24);
        o->tooltip("Value Output");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Output"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Value_Output]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(232, 46, 24, 24);
        o->tooltip("Adjuster");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Adjuster"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Adjuster]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(257, 46, 24, 24);
        o->tooltip("Counter");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Counter"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Counter]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(282, 46, 24, 24);
        o->tooltip("Dial");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Dial"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Dial]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(232, 71, 24, 24);
        o->tooltip("Roller");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Roller"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Roller]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(257, 71, 24, 24);
        o->tooltip("Spinner");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Spinner"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Spinner]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(282, 71, 24, 24);
        o->tooltip("Value Input");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Input"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Value_Input]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(339, 19, 54, 79, "Text");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(341, 21, 24, 24);
        o->tooltip("Input");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Input"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Input]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(366, 21, 24, 24);
        o->tooltip("Output");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Output"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Output]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(341, 46, 24, 24);
        o->tooltip("Text Edit");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Editor"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Text_Editor]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(366, 46, 24, 24);
        o->tooltip("Text Display");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Display"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Text_Display]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(341, 71, 24, 24);
        o->tooltip("File Input");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Input"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::File_Input]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(366, 71, 24, 24);
        o->tooltip("Terminal");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Terminal"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Terminal]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(398, 19, 79, 79, "Menus");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(400, 22, 24, 24);
        o->tooltip("Input Choice");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Input_Choice"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Input_Choice]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(425, 21, 24, 24);
        o->tooltip("Menu Item");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("menuitem"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Menu_Item]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(450, 21, 24, 24);
        o->tooltip("Menu Bar");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Bar"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Menu_Bar]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(400, 46, 24, 24);
        o->tooltip("Menu Button");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Button"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Menu_Button]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(425, 46, 24, 24);
        o->tooltip("Checkbox Menu Item");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("checkmenuitem"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Checkbox_Menu_Item]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(450, 46, 24, 24);
        o->tooltip("Sub Menu");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("submenu"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Submenu]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(400, 71, 24, 24);
        o->tooltip("Choice");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Choice"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Choice]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(425, 71, 24, 24);
        o->tooltip("Radio Menu Item");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("radiomenuitem"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Radio_Menu_Item]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(482, 19, 54, 79, "Browsers");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(484, 21, 24, 24);
        o->tooltip("Browser");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Browser"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Browser]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(509, 21, 24, 24);
        o->tooltip("Tree");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tree"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Tree]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(484, 46, 24, 24);
        o->tooltip("Check Browser");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Check_Browser"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Check_Browser]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(509, 46, 24, 24);
        o->tooltip("Help Browser");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Help_View"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Help_View]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(484, 71, 24, 24);
        o->tooltip("File Browser");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Browser"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::File_Browser]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(509, 71, 24, 24);
        o->tooltip("Table");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Table"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Table]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    { Fl_Group* o = new Fl_Group(540, 19, 55, 79, "Misc");
      o->labelsize(12);
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(542, 21, 24, 24);
        o->tooltip("Box");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Box"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Box]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(567, 21, 24, 24);
        o->tooltip("Clock");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Clock"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Clock]);
      } // fld::widget::Bin_Button* o
      { fld::widget::Bin_Button* o = new fld::widget::Bin_Button(542, 46, 24, 24);
        o->tooltip("Progress");
        o->box(FL_THIN_UP_BOX);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color(FL_BACKGROUND_COLOR);
        o->labeltype(FL_NORMAL_LABEL);
        o->labelfont(0);
        o->labelsize(14);
        o->labelcolor(FL_FOREGROUND_COLOR);
        o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Progress"));
        o->align(Fl_Align(FL_ALIGN_CENTER));
        o->when(FL_WHEN_RELEASE);
        o->image(pixmap[(int)Type::Progress]);
      } // fld::widget::Bin_Button* o
      o->end();
    } // Fl_Group* o
    widgetbin_panel->set_non_modal();
    widgetbin_panel->end();
  } // Fl_Window* widgetbin_panel
  return widgetbin_panel;
}

//
