コード例 #1
0
/**
 * @internal
 * @brief Gets the type of an Etk_Dialog
 * @return Returns the type of an Etk_Dialog
 */
Etk_Type *etk_dialog_type_get(void)
{
   static Etk_Type *dialog_type = NULL;

   if (!dialog_type)
   {
      const Etk_Signal_Description signals[] = {
         ETK_SIGNAL_DESC_NO_HANDLER(ETK_DIALOG_RESPONSE_SIGNAL,
            "response", etk_marshaller_INT),
         ETK_SIGNAL_DESCRIPTION_SENTINEL
      };

      dialog_type = etk_type_new("Etk_Dialog", ETK_WINDOW_TYPE,
         sizeof(Etk_Dialog), ETK_CONSTRUCTOR(_etk_dialog_constructor),
         NULL, signals);

      etk_type_property_add(dialog_type, "has-separator", ETK_DIALOG_HAS_SEPARATOR_PROPERTY,
            ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_TRUE));
      etk_type_property_add(dialog_type, "action-area-homogeneous", ETK_DIALOG_ACTION_AREA_HOMOGENEOUS_PROPERTY,
            ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_TRUE));
      etk_type_property_add(dialog_type, "action-area-align", ETK_DIALOG_ACTION_AREA_ALIGN_PROPERTY,
            ETK_PROPERTY_FLOAT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_float(0.5));

      dialog_type->property_set = _etk_dialog_property_set;
      dialog_type->property_get = _etk_dialog_property_get;
   }

   return dialog_type;
}
コード例 #2
0
/**
 * @internal
 * @brief Gets the type of an Etk_Menu_Item_Check
 * @return Returns the type of an Etk_Menu_Item_Check
 */
Etk_Type *etk_menu_item_check_type_get(void)
{
   static Etk_Type *menu_item_check_type = NULL;

   if (!menu_item_check_type)
   {
      const Etk_Signal_Description signals[] = {
         ETK_SIGNAL_DESC_HANDLER(ETK_MENU_ITEM_CHECK_TOGGLED_SIGNAL,
            "toggled", Etk_Menu_Item_Check, toggled_handler,
            etk_marshaller_VOID),
         ETK_SIGNAL_DESCRIPTION_SENTINEL
      };

      menu_item_check_type = etk_type_new("Etk_Menu_Item_Check",
         ETK_MENU_ITEM_TYPE, sizeof(Etk_Menu_Item_Check),
         ETK_CONSTRUCTOR(_etk_menu_item_check_constructor), NULL, signals);

      etk_type_property_add(menu_item_check_type, "active", ETK_MENU_ITEM_ACTIVE_PROPERTY,
         ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_FALSE));

      menu_item_check_type->property_set = _etk_menu_item_check_property_set;
      menu_item_check_type->property_get = _etk_menu_item_check_property_get;
   }

   return menu_item_check_type;
}
コード例 #3
0
/**
 * @internal
 * @brief Gets the type of an Etk_Spinner
 * @return Returns the type of an Etk_Spinner
 */
Etk_Type *etk_spinner_type_get(void)
{
   static Etk_Type *spinner_type = NULL;

   if (!spinner_type)
   {
      spinner_type = etk_type_new("Etk_Spinner", ETK_RANGE_TYPE, sizeof(Etk_Spinner),
         ETK_CONSTRUCTOR(_etk_spinner_constructor), NULL, NULL);

      etk_type_property_add(spinner_type, "digits", ETK_SPINNER_DIGITS_PROPERTY,
         ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE,  etk_property_value_int(0));
      etk_type_property_add(spinner_type, "snap-to-ticks", ETK_SPINNER_SNAP_TO_TICKS_PROPERTY,
         ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE,  etk_property_value_bool(ETK_FALSE));
      etk_type_property_add(spinner_type, "wrap", ETK_SPINNER_WRAP_PROPERTY,
         ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE,  etk_property_value_bool(ETK_FALSE));

      spinner_type->property_set = _etk_spinner_property_set;
      spinner_type->property_get = _etk_spinner_property_get;
   }

   return spinner_type;
}
コード例 #4
0
/**
 * @internal
 * @brief Gets the type of an Etk_Statusbar
 * @return Returns the type of an Etk_Statusbar
 */
Etk_Type *etk_statusbar_type_get(void)
{
   static Etk_Type *statusbar_type = NULL;

   if (!statusbar_type)
   {
      statusbar_type = etk_type_new("Etk_Statusbar", ETK_WIDGET_TYPE, sizeof(Etk_Statusbar),
         ETK_CONSTRUCTOR(_etk_statusbar_constructor), ETK_DESTRUCTOR(_etk_statusbar_destructor), NULL);

      etk_type_property_add(statusbar_type, "current-message", ETK_STATUSBAR_CURRENT_MESSAGE_PROPERTY,
         ETK_PROPERTY_STRING, ETK_PROPERTY_READABLE, NULL);
      etk_type_property_add(statusbar_type, "has-resize-grip", ETK_STATUSBAR_HAS_RESIZE_GRIP_PROPERTY,
         ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_TRUE));

      statusbar_type->property_set = _etk_statusbar_property_set;
      statusbar_type->property_get = _etk_statusbar_property_get;
   }

   return statusbar_type;
}
コード例 #5
0
/**
 * @internal
 * @brief Gets the type of an Etk_Box
 * @return Returns the type of an Etk_Box
 */
Etk_Type *etk_box_type_get(void)
{
   static Etk_Type *box_type = NULL;

   if (!box_type)
   {
      box_type = etk_type_new("Etk_Box", ETK_CONTAINER_TYPE, sizeof(Etk_Box),
         ETK_CONSTRUCTOR(_etk_box_constructor),
         ETK_DESTRUCTOR(_etk_box_destructor), NULL);

      etk_type_property_add(box_type, "spacing", ETK_BOX_SPACING_PROPERTY,
            ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(0));
      etk_type_property_add(box_type, "homogeneous", ETK_BOX_HOMOGENEOUS_PROPERTY,
            ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_FALSE));

      box_type->property_set = _etk_box_property_set;
      box_type->property_get = _etk_box_property_get;
   }

   return box_type;
}