Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
progress.c File Reference
#include "system/macros.h"
#include "system/mem_alloc.h"
#include "gui/application.h"
#include "common/dbus.h"
#include "control/progress.h"
#include "control/control.h"
#include <gdk/gdkwin32.h>
+ Include dependency graph for progress.c:

Go to the source code of this file.

Data Structures

struct  _dt_progress_t
 

Macros

#define ITaskbarList3_SetProgressValue(This, hwnd, ullCompleted, ullTotal)   (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
 
#define ITaskbarList3_SetProgressState(This, hwnd, tbpFlags)   (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
 
#define ITaskbarList3_HrInit(This)   (This)->lpVtbl->HrInit(This)
 

Typedefs

typedef struct _dt_progress_t _dt_progress_t
 

Functions

static void global_progress_start (dt_control_t *control, dt_progress_t *progress)
 
static void global_progress_set (dt_control_t *control, dt_progress_t *progress, double value)
 
static void global_progress_end (dt_control_t *control, dt_progress_t *progress)
 
void dt_control_progress_init (struct dt_control_t *control)
 
dt_progress_tdt_control_progress_create (dt_control_t *control, gboolean has_progress_bar, const gchar *message)
 
void dt_control_progress_destroy (dt_control_t *control, dt_progress_t *progress)
 
void dt_control_progress_make_cancellable (struct dt_control_t *control, dt_progress_t *progress, dt_progress_cancel_callback_t cancel, void *data)
 
static void dt_control_progress_cancel_callback (dt_progress_t *progress, void *data)
 
void dt_control_progress_attach_job (dt_control_t *control, dt_progress_t *progress, dt_job_t *job)
 
void dt_control_progress_cancel (dt_control_t *control, dt_progress_t *progress)
 
void dt_control_progress_set_progress (dt_control_t *control, dt_progress_t *progress, double value)
 
double dt_control_progress_get_progress (dt_progress_t *progress)
 
const gchar * dt_control_progress_get_message (dt_progress_t *progress)
 
void dt_control_progress_set_message (dt_control_t *control, dt_progress_t *progress, const char *message)
 
void dt_control_progress_set_gui_data (dt_progress_t *progress, void *data)
 
voiddt_control_progress_get_gui_data (dt_progress_t *progress)
 
gboolean dt_control_progress_has_progress_bar (dt_progress_t *progress)
 
gboolean dt_control_progress_cancellable (dt_progress_t *progress)
 

Macro Definition Documentation

◆ ITaskbarList3_HrInit

#define ITaskbarList3_HrInit (   This)    (This)->lpVtbl->HrInit(This)

Definition at line 50 of file progress.c.

◆ ITaskbarList3_SetProgressState

#define ITaskbarList3_SetProgressState (   This,
  hwnd,
  tbpFlags 
)    (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)

Definition at line 47 of file progress.c.

◆ ITaskbarList3_SetProgressValue

#define ITaskbarList3_SetProgressValue (   This,
  hwnd,
  ullCompleted,
  ullTotal 
)    (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)

Definition at line 44 of file progress.c.

Typedef Documentation

◆ _dt_progress_t

Function Documentation

◆ dt_control_progress_attach_job()

void dt_control_progress_attach_job ( struct dt_control_t control,
dt_progress_t progress,
struct _dt_job_t job 
)

convenience function to cancel a job when the progress gets cancelled.

Definition at line 339 of file progress.c.

References dt_control_progress_cancel_callback(), and dt_control_progress_make_cancellable().

Referenced by dt_control_job_add_progress().

◆ dt_control_progress_cancel()

void dt_control_progress_cancel ( struct dt_control_t control,
dt_progress_t progress 
)

◆ dt_control_progress_cancel_callback()

static void dt_control_progress_cancel_callback ( dt_progress_t progress,
void data 
)
static

Definition at line 334 of file progress.c.

References dt_control_job_cancel().

Referenced by dt_control_progress_attach_job().

◆ dt_control_progress_cancellable()

gboolean dt_control_progress_cancellable ( dt_progress_t progress)

has a job been linked to the progress object?

Definition at line 433 of file progress.c.

References _dt_progress_t::cancel, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), IS_NULL_PTR, _dt_progress_t::mutex, and res.

Referenced by gui_init().

◆ dt_control_progress_create()

dt_progress_t * dt_control_progress_create ( struct dt_control_t control,
gboolean  has_progress_bar,
const gchar *  message 
)

◆ dt_control_progress_destroy()

◆ dt_control_progress_get_gui_data()

void * dt_control_progress_get_gui_data ( dt_progress_t progress)

◆ dt_control_progress_get_message()

const gchar * dt_control_progress_get_message ( dt_progress_t progress)

get the message passed during construction.

Definition at line 387 of file progress.c.

References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), _dt_progress_t::message, _dt_progress_t::mutex, and res.

Referenced by gui_init().

◆ dt_control_progress_get_progress()

double dt_control_progress_get_progress ( dt_progress_t progress)

return the last set progress value.

Definition at line 379 of file progress.c.

References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), _dt_progress_t::mutex, _dt_progress_t::progress, and res.

Referenced by dt_control_job_get_progress(), global_progress_end(), and gui_init().

◆ dt_control_progress_has_progress_bar()

gboolean dt_control_progress_has_progress_bar ( dt_progress_t progress)

does the progress object have a progress bar in its gui?

Definition at line 425 of file progress.c.

References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), _dt_progress_t::has_progress_bar, _dt_progress_t::mutex, and res.

Referenced by gui_init().

◆ dt_control_progress_init()

void dt_control_progress_init ( struct dt_control_t control)

Definition at line 230 of file progress.c.

References dt_dbus_t::dbus_connection, dt_dbus_get_global(), error(), and FALSE.

Referenced by dt_init().

◆ dt_control_progress_make_cancellable()

void dt_control_progress_make_cancellable ( struct dt_control_t control,
dt_progress_t progress,
dt_progress_cancel_callback_t  cancel,
void data 
)

◆ dt_control_progress_set_gui_data()

void dt_control_progress_set_gui_data ( dt_progress_t progress,
void data 
)

these functions are to be used by lib/backgroundjobs.c only.

Definition at line 410 of file progress.c.

References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), _dt_progress_t::gui_data, and _dt_progress_t::mutex.

Referenced by gui_init().

◆ dt_control_progress_set_message()

◆ dt_control_progress_set_progress()

void dt_control_progress_set_progress ( struct dt_control_t control,
dt_progress_t progress,
double  value 
)

◆ global_progress_end()

◆ global_progress_set()

◆ global_progress_start()