## BtEditApplication

BtEditApplication — class for a gtk based buzztard editor application

## Synopsis

    #include "bt-edit.h"

                        BtEditApplication;
    BtEditApplication * bt_edit_application_new             (void);
    gboolean            bt_edit_application_new_song        (const BtEditApplication *self);
    gboolean            bt_edit_application_load_song       (const BtEditApplication *self,
                                                             const char *file_name);
    gboolean            bt_edit_application_save_song       (const BtEditApplication *self,
                                                             const char *file_name);
    gboolean            bt_edit_application_run             (const BtEditApplication *self);
    gboolean            bt_edit_application_load_and_run    (const BtEditApplication *self,
                                                             const gchar *input_file_name);
    void                bt_edit_application_show_about      (const BtEditApplication *self);

## Object Hierarchy

      GObject
       +----BtApplication
             +----BtEditApplication

## Properties

      "ic-registry"              BtIcRegistry*         : Read
      "main-window"              BtMainWindow*         : Read
      "song"                     BtSong*               : Read / Write

## Description

Opens the BtMainWindow and provide application level function like load, save, run and exit.

## Details

### BtEditApplication

    typedef struct _BtEditApplication BtEditApplication;

BtApplication subclass for the gtk editor application

### bt_edit_application_new ()

    BtEditApplication * bt_edit_application_new             (void);

Create a new instance

Returns : | the new instance or `NULL` in case of an error

### bt_edit_application_new_song ()

    gboolean            bt_edit_application_new_song        (const BtEditApplication *self);

Creates a new blank song instance. If there is a previous song instance it will be freed.

`self` : | the application instance to create a new song in
Returns : | `TRUE` for success

### bt_edit_application_load_song ()

    gboolean            bt_edit_application_load_song       (const BtEditApplication *self,
                                                             const char *file_name);

Loads a new song. If there is a previous song instance it will be freed.

`self` : | the application instance to load a new song in
`file_name` : | the song filename to load
Returns : | true for success

### bt_edit_application_save_song ()

    gboolean            bt_edit_application_save_song       (const BtEditApplication *self,
                                                             const char *file_name);

Saves a song.

`self` : | the application instance to save a song from
`file_name` : | the song filename to save
Returns : | true for success

### bt_edit_application_run ()

    gboolean            bt_edit_application_run             (const BtEditApplication *self);

start the gtk based editor application

`self` : | the application instance to run
Returns : | true for success

### bt_edit_application_load_and_run ()

    gboolean            bt_edit_application_load_and_run    (const BtEditApplication *self,
                                                             const gchar *input_file_name);

load the file of the supplied name and start the gtk based editor application

`self` : | the application instance to run
`input_file_name` : | the file to load initially
Returns : | true for success

### bt_edit_application_show_about ()

    void                bt_edit_application_show_about      (const BtEditApplication *self);

Shows the applications about window

`self` : | the application instance

## Property Details

### The `"ic-registry"` property

      "ic-registry"              BtIcRegistry*         : Read

the interaction controller registry of this application.

### The `"main-window"` property

      "main-window"              BtMainWindow*         : Read

the main window of this application.

### The `"song"` property

      "song"                     BtSong*               : Read / Write

the song object, the wire belongs to.

## See Also

BtMainWindow