OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::MainFrame::FileHistory Struct Reference
Inheritance diagram for Slic3r::GUI::MainFrame::FileHistory:
Collaboration diagram for Slic3r::GUI::MainFrame::FileHistory:

Public Member Functions

 FileHistory (int max)
std::wstring GetThumbnailUrl (int index) const
bool GetPublished (int index) const
virtual void AddFileToHistory (const wxString &file)
virtual void RemoveFileFromHistory (size_t i)
size_t FindFileInHistory (const wxString &file)
void LoadThumbnails ()
void SetMaxFiles (int max)

Private Attributes

std::deque< std::string > m_thumbnails
std::deque< bool > m_published_files
bool m_load_called = false

Detailed Description

Constructor & Destructor Documentation

◆ FileHistory()

Slic3r::GUI::MainFrame::FileHistory::FileHistory ( int max)
inline
279: wxFileHistory(max) {}

Member Function Documentation

◆ AddFileToHistory()

void Slic3r::GUI::MainFrame::FileHistory::AddFileToHistory ( const wxString & file)
virtual
4456{
4457 if (this->m_fileMaxFiles == 0)
4458 return;
4459 wxFileHistory::AddFileToHistory(file);
4460 if (m_load_called) {
4461 m_thumbnails.push_front(bbs_3mf_get_thumbnail(into_u8(file).c_str()));
4463 } else {
4464 m_thumbnails.push_front("");
4465 m_published_files.push_front(false);
4466 }
4467}
std::string into_u8(const wxString &str)
Definition GUI.cpp:549
bool bbs_3mf_is_published(const std::string &path)
Definition bbs_3mf.cpp:9656
std::string bbs_3mf_get_thumbnail(const char *path)
Definition bbs_3mf.cpp:9585
std::deque< bool > m_published_files
Definition MainFrame.hpp:292
std::deque< std::string > m_thumbnails
Definition MainFrame.hpp:291
bool m_load_called
Definition MainFrame.hpp:293

References Slic3r::bbs_3mf_get_thumbnail(), Slic3r::bbs_3mf_is_published(), Slic3r::GUI::into_u8(), m_load_called, m_published_files, and m_thumbnails.

Here is the call graph for this function:

◆ FindFileInHistory()

size_t Slic3r::GUI::MainFrame::FileHistory::FindFileInHistory ( const wxString & file)
4479{
4480 return m_fileHistory.Index(file);
4481}

◆ GetPublished()

bool Slic3r::GUI::MainFrame::FileHistory::GetPublished ( int index) const
4451{
4452 return index >= 0 && index < static_cast<int>(m_published_files.size()) && m_published_files[index];
4453}

References m_published_files.

◆ GetThumbnailUrl()

std::wstring Slic3r::GUI::MainFrame::FileHistory::GetThumbnailUrl ( int index) const
4442{
4443 if (m_thumbnails[index].empty()) return L"";
4444 std::wstringstream wss;
4445 wss << L"data:image/png;base64,";
4446 wss << wxBase64Encode(m_thumbnails[index].data(), m_thumbnails[index].size());
4447 return wss.str();
4448}
#define L(s)
Definition ExtrusionEntity.cpp:25
bool empty(const BoundingBoxBase< PointType, PointsType > &bb)
Definition BoundingBox.hpp:273

References Slic3r::empty(), L, and m_thumbnails.

Here is the call graph for this function:

◆ LoadThumbnails()

void Slic3r::GUI::MainFrame::FileHistory::LoadThumbnails ( )
4484{
4485 tbb::parallel_for(tbb::blocked_range<size_t>(0, GetCount()), [this](tbb::blocked_range<size_t> range) {
4486 for (size_t i = range.begin(); i < range.end(); ++i) {
4487 auto thumbnail = bbs_3mf_get_thumbnail(into_u8(GetHistoryFile(i)).c_str());
4488 if (!thumbnail.empty()) {
4489 m_thumbnails[i] = thumbnail;
4490 }
4491 m_published_files[i] = bbs_3mf_is_published(into_u8(GetHistoryFile(i)));
4492 }
4493 });
4494 m_load_called = true;
4495}
auto range(Cont &&cont)
Definition libslic3r.h:405

References Slic3r::bbs_3mf_get_thumbnail(), Slic3r::bbs_3mf_is_published(), Slic3r::GUI::into_u8(), m_load_called, m_published_files, m_thumbnails, and Slic3r::range().

Here is the call graph for this function:

◆ RemoveFileFromHistory()

void Slic3r::GUI::MainFrame::FileHistory::RemoveFileFromHistory ( size_t i)
virtual
4470{
4471 if (i >= m_thumbnails.size()) // FIX zero max
4472 return;
4473 wxFileHistory::RemoveFileFromHistory(i);
4474 m_thumbnails.erase(m_thumbnails.begin() + i);
4475 m_published_files.erase(m_published_files.begin() + i);
4476}

References m_published_files, and m_thumbnails.

Referenced by SetMaxFiles().

Here is the caller graph for this function:

◆ SetMaxFiles()

void Slic3r::GUI::MainFrame::FileHistory::SetMaxFiles ( int max)
inline
4498{
4499 m_fileMaxFiles = max;
4500 size_t numFiles = m_fileHistory.size();
4501 while (numFiles > m_fileMaxFiles)
4502 RemoveFileFromHistory(--numFiles);
4503}
virtual void RemoveFileFromHistory(size_t i)
Definition MainFrame.cpp:4469

References RemoveFileFromHistory().

Here is the call graph for this function:

Member Data Documentation

◆ m_load_called

bool Slic3r::GUI::MainFrame::FileHistory::m_load_called = false
private

Referenced by AddFileToHistory(), and LoadThumbnails().

◆ m_published_files

std::deque<bool> Slic3r::GUI::MainFrame::FileHistory::m_published_files
private

◆ m_thumbnails

std::deque<std::string> Slic3r::GUI::MainFrame::FileHistory::m_thumbnails
private

The documentation for this struct was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/MainFrame.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/MainFrame.cpp