Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
ProgressBarManager Class Reference

#include <progressbarmanager.hh>

Inheritance diagram for ProgressBarManager:
Inheritance graph
Collaboration diagram for ProgressBarManager:
Collaboration graph

Public Types

using Ptr = std::shared_ptr< ProgressBarManager >
 
- Public Types inherited from ProgressInterface
using Ptr = std::shared_ptr< ProgressInterface >
 
using WeakPtr = std::weak_ptr< ProgressInterface >
 

Public Member Functions

 ~ProgressBarManager () override
 
 ProgressBarManager (const ProgressBarManager &)=delete
 
 ProgressBarManager (ProgressBarManager &&)=delete
 
ProgressBarManager operator= (const ProgressBarManager &)=delete
 
ProgressBarManager operator= (ProgressBarManager &&)=delete
 
void setProgressBar (GtkProgressBar *progressBar)
 
void setIdle () override
 
void setWaiting (double progress=0.0) override
 
void setWorking (double progress) override
 
void setFinished () override
 

Static Public Member Functions

static Ptr create (GtkProgressBar *progressBar=nullptr)
 

Private Member Functions

 ProgressBarManager (GtkProgressBar *progressBar)
 
void stopWaiting ()
 
void startWaiting ()
 

Private Attributes

GtkProgressBar * progressBar
 
bool isWaiting {false}
 

Member Typedef Documentation

◆ Ptr

using ProgressBarManager::Ptr = std::shared_ptr<ProgressBarManager>

Constructor & Destructor Documentation

◆ ProgressBarManager() [1/3]

ProgressBarManager::ProgressBarManager ( GtkProgressBar *  progressBar)
explicitprivate
111 : progressBar(progressBar_)
112
113{
114}
GtkProgressBar * progressBar
Definition progressbarmanager.hh:20

◆ ~ProgressBarManager()

ProgressBarManager::~ProgressBarManager ( )
override
121{ stopWaiting(); }
void stopWaiting()
Definition progressbarmanager.cc:139
Here is the call graph for this function:

◆ ProgressBarManager() [2/3]

ProgressBarManager::ProgressBarManager ( const ProgressBarManager )
delete

◆ ProgressBarManager() [3/3]

ProgressBarManager::ProgressBarManager ( ProgressBarManager &&  )
delete

Member Function Documentation

◆ create()

ProgressBarManager::Ptr ProgressBarManager::create ( GtkProgressBar *  progressBar = nullptr)
static
117{
119}
Definition progressbarmanager.hh:15
std::shared_ptr< ProgressBarManager > Ptr
Definition progressbarmanager.hh:17

Referenced by View::View().

Here is the caller graph for this function:

◆ operator=() [1/2]

ProgressBarManager ProgressBarManager::operator= ( const ProgressBarManager )
delete

◆ operator=() [2/2]

ProgressBarManager ProgressBarManager::operator= ( ProgressBarManager &&  )
delete

◆ setFinished()

void ProgressBarManager::setFinished ( )
overridevirtual

Implements ProgressInterface.

162{ setIdle(); }
void setIdle() override
Definition progressbarmanager.cc:151
Here is the call graph for this function:

◆ setIdle()

void ProgressBarManager::setIdle ( )
overridevirtual

Implements ProgressInterface.

151{ setWorking(0.0); }
void setWorking(double progress) override
Definition progressbarmanager.cc:155

Referenced by setFinished().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setProgressBar()

void ProgressBarManager::setProgressBar ( GtkProgressBar *  progressBar)
124{
125 stopWaiting();
126 progressBar = progressBar_;
127}
Here is the call graph for this function:

◆ setWaiting()

void ProgressBarManager::setWaiting ( double  progress = 0.0)
overridevirtual

Implements ProgressInterface.

153{ startWaiting(); }
void startWaiting()
Definition progressbarmanager.cc:129
Here is the call graph for this function:

◆ setWorking()

void ProgressBarManager::setWorking ( double  progress)
overridevirtual

Implements ProgressInterface.

156{
157 stopWaiting();
158
159 Scroom::GtkHelpers::sync_on_ui_thread([this, progress] { gtk_progress_bar_set_fraction(progressBar, progress); });
160}
void sync_on_ui_thread(T f)
Definition gtk-helpers.hh:59
stub progress
Definition progressinterfaceconversion-tests.cc:65

Referenced by setIdle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startWaiting()

void ProgressBarManager::startWaiting ( )
private
130{
131 if(!isWaiting)
132 {
133 // Start pulsing
134 instance()->start(progressBar);
135 isWaiting = true;
136 }
137}
bool isWaiting
Definition progressbarmanager.hh:21
ProgressBarPulser::Ptr instance()
Definition progressbarmanager.cc:44

Referenced by setWaiting().

Here is the caller graph for this function:

◆ stopWaiting()

void ProgressBarManager::stopWaiting ( )
private
140{
141 if(isWaiting)
142 {
143 // Stop pulsing
144 instance()->stop(progressBar);
145 isWaiting = false;
146 }
147}

Referenced by setProgressBar(), setWorking(), and ~ProgressBarManager().

Here is the caller graph for this function:

Member Data Documentation

◆ isWaiting

bool ProgressBarManager::isWaiting {false}
private
21{false};

Referenced by startWaiting(), and stopWaiting().

◆ progressBar

GtkProgressBar* ProgressBarManager::progressBar
private

The documentation for this class was generated from the following files: