class Elm_Fileselector_Button (Elm_Button, Elm_Interface_Fileselector)
{
   eo_prefix: elm_obj_fileselector_button;
   properties {
      inwin_mode {
         set {
            /*@
            Set whether a given file selector button widget's internal file
            selector will raise an Elementary "inner window", instead of a
            dedicated Elementary window. By default, it depends on the current
            profile.

            @see elm_win_inwin_add() for more information on inner windows
            @see elm_fileselector_button_inwin_mode_get()

            @ingroup File_Selector_Button */
         }
         get {
            /*@
            Get whether a given file selector button widget's internal file
            selector will raise an Elementary "inner window", instead of a
            dedicated Elementary window.

            @return @c EINA_TRUE if will use an inner window, @c EINA_TRUE
            if it will use a dedicated window

            @see elm_fileselector_button_inwin_mode_set() for more details

            @ingroup File_Selector_Button */
         }
         values {
            bool value; /*@ @c EINA_TRUE to make it use an inner window, @c
            EINA_FALSE to make it use a dedicated window */
         }
      }
      window_size {
         set {
            /*@
            Set the size of a given file selector button widget's window,
            holding the file selector itself.

            @note it will only take any effect if the file selector button
            widget is @b not under "inwin mode". The default size for the
            window (when applicable) is 400x400 pixels.

            @see elm_fileselector_button_window_size_get()

            @ingroup File_Selector_Button */
         }
         get {
            /*@
            Get the size of a given file selector button widget's window,
            holding the file selector itself.

            @note Use @c NULL pointers on the size values you're not
            interested in: they'll be ignored by the function.

            @see elm_fileselector_button_window_size_set(), for more details

            @ingroup File_Selector_Button */
         }
         values {
            Evas_Coord width; /*@ The window's width */
            Evas_Coord height; /*@ The window's height */
         }
      }
      window_title {
         set {
            /*@
            Set the title for a given file selector button widget's window

            This will change the popup window's title, when the file selector pops
            out after a click on the button. Those windows have the default
            (unlocalized) value of @c "Select a file" as titles.

            @note It will only take effect if the file selector
            button widget is @b not under "inwin mode".

            @see elm_fileselector_button_window_title_get()

            @ingroup File_Selector_Button */
         }
         get {
            /*@
            Get the title for a given file selector button widget's
            window

            @return Title of the file selector button's window

            @see elm_fileselector_button_window_title_get() for more details

            @ingroup File_Selector_Button */
         }
         values {
            const(char)* title; /*@ The title string */
         }
      }
   }
   implements {
      Eo.Base.constructor;
      Evas.Object_Smart.add;
      Evas.Object_Smart.del;
      Elm_Widget.theme_apply;
      Elm_Button.admits_autorepeat.get;
      Elm_Interface_Fileselector.selected_paths.get;
      Elm_Interface_Fileselector.expandable;
      Elm_Interface_Fileselector.thumbnail_size;
      Elm_Interface_Fileselector.selected;
      Elm_Interface_Fileselector.hidden_visible;
      Elm_Interface_Fileselector.is_save;
      Elm_Interface_Fileselector.path;
      Elm_Interface_Fileselector.sort_method;
      Elm_Interface_Fileselector.multi_select;
      Elm_Interface_Fileselector.folder_only;
      Elm_Interface_Fileselector.mode;
   }
   events {
      language,changed;
      access,changed;
      focused;
      unfocused;
   }

}
