finished project explorer
This commit is contained in:
@@ -26,16 +26,71 @@
|
||||
#include <QSlider>
|
||||
#include <QWidget>
|
||||
|
||||
/**
|
||||
* @brief A navigation bar widget for ProjectExplorer's Icon and List views
|
||||
*
|
||||
* Unlike the Tree view, Icon and List don't follow a hierarchical view of information. This means there is no direct
|
||||
* way of navigating in and out of folders in those view types. We solve this in two ways:
|
||||
*
|
||||
* * Double clicking a Folder in those views will enter that folder
|
||||
* * This navigation bar offers a "directory up" button for leaving a folder
|
||||
*
|
||||
* This navbar also provides an icon size slider for those views (between olive::kProjectIconSizeMinimum and
|
||||
* olive::kProjectIconSizeMaximum) as well as text that's intended to be set to the current Folder's name (or
|
||||
* empty for the root folder).
|
||||
*
|
||||
* This widget does not actually communicate to Project or ProjectExplorer classes. It is simply UI widgets that are
|
||||
* intended to be connected in ways that do. This is the primarily responsibility of ProjectExplorer.
|
||||
*
|
||||
* By default, the directory up button is disabled (assuming root folder), the text is empty, and the icon size slider
|
||||
* is set to olive::kProjectIconSizeDefault.
|
||||
*/
|
||||
class ProjectExplorerNavigation : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ProjectExplorerNavigation(QWidget* parent);
|
||||
|
||||
/**
|
||||
* @brief Sets the text string
|
||||
*
|
||||
* This text is intended to be set to the current Folder's name
|
||||
*
|
||||
* @param s
|
||||
*/
|
||||
void set_text(const QString& s);
|
||||
|
||||
/**
|
||||
* @brief Set whether the "directory up" button is enabled or not
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
void set_dir_up_enabled(bool e);
|
||||
|
||||
/**
|
||||
* @brief Set the current value of the size slider
|
||||
*
|
||||
* NOTE: Does NOT emit SizeChanged().
|
||||
*
|
||||
* @param s
|
||||
*
|
||||
* New size value to set to
|
||||
*/
|
||||
void set_size_value(int s);
|
||||
|
||||
signals:
|
||||
/**
|
||||
* @brief Signal emitted when the directory up button is clicked
|
||||
*/
|
||||
void DirectoryUpClicked();
|
||||
|
||||
/**
|
||||
* @brief Signal emitted when the icon size slider changes value
|
||||
*
|
||||
* @param size
|
||||
*
|
||||
* New size set in the slider
|
||||
*/
|
||||
void SizeChanged(int size);
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user