MeshLib C++ Docs
Loading...
Searching...
No Matches
MRIOFilesMenuItems.h
Go to the documentation of this file.
1#pragma once
2#include "MRMesh/MRMeshFwd.h"
6#include <filesystem>
7
8#ifndef MESHLIB_NO_VOXELS
10#endif
11
12namespace MR
13{
14using FileNamesStack = std::vector<std::filesystem::path>;
15
17{
18public:
20 std::string isAvailable( const std::vector<std::shared_ptr<const Object>>& ) const override;
21 bool action() override;
22 void openDirectory( const std::filesystem::path& directory ) const;
23};
24
25class OpenFilesMenuItem : public RibbonMenuItem, public MultiListener<DragEntranceListener, DragOverListener, DragDropListener, PreDrawListener>
26{
27public:
30 virtual bool action() override;
31
32 virtual const DropItemsList& dropItems() const override;
33private:
34 virtual void dragEntrance_( bool entered ) override;
35 virtual bool dragOver_( int x, int y ) override;
36 virtual bool dragDrop_( const std::vector<std::filesystem::path>& paths ) override;
37
38 virtual void preDraw_() override;
39
40 bool dragging_{ false };
41 Vector2i dragPos_;
42
43 void parseLaunchParams_();
44 void setupListUpdate_();
45
46 boost::signals2::scoped_connection recentStoreConnection_;
47 FileNamesStack recentPathsCache_;
48 IOFilters filters_;
49 std::shared_ptr<OpenDirectoryMenuItem> openDirectoryItem_;
50};
51
52#if !defined( MESHLIB_NO_VOXELS ) && !defined( MRVOXELS_NO_DICOM )
54{
55public:
57 virtual bool action() override;
58};
59#endif
60
62{
63public:
65 virtual bool action() override;
66 virtual std::string isAvailable( const std::vector<std::shared_ptr<const Object>>&objs ) const override;
67};
68
70{
71public:
73 virtual bool action() override;
74};
75
77{
78public:
79 SaveSceneAsMenuItem( const std::string& pluginName = "Save Scene As" );
80 virtual bool action() override;
81 virtual std::string isAvailable( const std::vector<std::shared_ptr<const Object>>& ) const override;
82
83protected:
85 void saveScene_( const std::filesystem::path& savePath );
86};
87
89{
90public:
92 virtual bool action() override;
93};
94
96{
97public:
99 virtual void drawDialog( float menuScaling, ImGuiContext* ) override;
100 virtual bool blocking() const override { return false; }
101private:
102 Vector2i resolution_;
103 bool transparentBg_{ true };
104};
105
107{
108public:
110 virtual bool action() override;
111};
112
114{
115public:
117 virtual bool action() override;
118 virtual std::string isAvailable( const std::vector<std::shared_ptr<const Object>>& ) const override;
119};
120
121}
Definition MRIOFilesMenuItems.h:96
virtual bool blocking() const override
Definition MRIOFilesMenuItems.h:100
virtual void drawDialog(float menuScaling, ImGuiContext *) override
Definition MRIOFilesMenuItems.h:114
virtual std::string isAvailable(const std::vector< std::shared_ptr< const Object > > &) const override
Definition MRIOFilesMenuItems.h:107
virtual bool action() override
Definition MRIOFilesMenuItems.h:54
virtual bool action() override
Definition MRIOFilesMenuItems.h:17
std::string isAvailable(const std::vector< std::shared_ptr< const Object > > &) const override
bool action() override
void openDirectory(const std::filesystem::path &directory) const
Definition MRIOFilesMenuItems.h:26
virtual const DropItemsList & dropItems() const override
virtual bool action() override
Definition MRRibbonMenuItem.h:20
std::vector< std::shared_ptr< RibbonMenuItem > > DropItemsList
Definition MRRibbonMenuItem.h:47
Definition MRIOFilesMenuItems.h:62
virtual bool action() override
virtual std::string isAvailable(const std::vector< std::shared_ptr< const Object > > &objs) const override
Definition MRIOFilesMenuItems.h:77
SaveSceneAsMenuItem(const std::string &pluginName="Save Scene As")
virtual std::string isAvailable(const std::vector< std::shared_ptr< const Object > > &) const override
virtual bool action() override
void saveScene_(const std::filesystem::path &savePath)
Definition MRIOFilesMenuItems.h:89
virtual bool action() override
Definition MRIOFilesMenuItems.h:70
virtual bool action() override
Definition MRSceneStateCheck.h:140
Definition MRViewerFwd.h:64
std::vector< IOFilter > IOFilters
Definition MRIOFilters.h:32
Definition MRCameraOrientationPlugin.h:8
std::vector< std::filesystem::path > FileNamesStack
Definition MRIOFilesMenuItems.h:14
Definition MRViewerEventsListener.h:29