class FilePanel{
public:
static int OffSet;// Space in front of the buttons in FilePanel. OffSet * level is the total space
GtkBuilder *builder;
void init();
GtkGrid *BaseGrid;
GtkBox *FileTree;
void AddNewRootFolder(FPFolderButton& folderbutton);
FPFolderButton& NewFolder(GFile *file,GFile *ParentFolder,FPFolderButton& Parent);
// Parent not nullable. The root folder will not be added with this function. See FPFolderButton::SetAsRoot()
FPFileButton& NewFile(GFile *file, FPFolderButton& Parent);// Not nullable. File has to be under a folder
void UnrefBuilder();
};
Offset
indicates how backward will the child file/folder button be place compare to it's parent.
BaseGrid
is the GtkWidget that is containing FileTree
. The root folder's BaseBox
is place inside FileTree
. You can add many root folder in the file panel with AddNewRootFolder()
.
To create a FPFolderButton
or FPFileButton
, use NewFolder()
and NewFile()
.
We will move NewFolder() and NewFile() out of the class in the future.