Rigs of Rods 2023.09
Soft-body Physics Simulation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Data Fields | Private Member Functions | Private Attributes
RoR::GUI::RepositorySelector Class Reference

#include <GUI_RepositorySelector.h>

Public Member Functions

 RepositorySelector ()
 
 ~RepositorySelector ()
 
void SetVisible (bool visible)
 
bool IsVisible () const
 
void Draw ()
 
void DrawGalleryView ()
 
void DrawResourceView (float searchbox_x)
 
void DrawResourceViewRightColumn ()
 
void OpenResource (int resource_id)
 
void RequestInstallRepoFile (int resource_id, int datafile_pos, std::string filepath)
 
void QueueInstallRepoFile (RepoFileInstallRequest *request)
 
void InstallDownloadedRepoFile (MsgType result, RepoFileInstallRequest *request)
 
void NotifyRepoFileUninstalled (std::string const &filename)
 
void Refresh ()
 
void UpdateResources (ResourcesCollection *data)
 
void UpdateResourceFilesAndDescription (ResourcesCollection *data)
 
void ShowError (CurlFailInfo *failinfo)
 
void DrawThumbnail (ResourceItemArrayPos_t resource_arraypos, ImVec2 image_size, float spinner_size, ImVec2 spinner_cursor)
 
void LoadDownloadedImage (RepoImageDownloadRequest *request)
 To be run on main thread.
 
void DrawResourceDescriptionBBCode (const ResourceItem &item, ImVec2 panel_screenpos, ImVec2 panel_size)
 
void DrawAttachment (BBCodeDrawingContext *context, int attachment_id)
 
void DownloadAttachment (int attachment_id, std::string const &attachment_ext)
 
void DownloadBBCodeAttachmentsRecursive (const bbcpp::BBNode &parent)
 
RepoFileInstallRequestID_t GetNextInstallRequestId ()
 

Static Public Member Functions

static void DownloadImage (RepoImageDownloadRequest *request)
 To be run on background via Ogre WorkQueue.
 

Data Fields

const float ATTACH_MAX_WIDTH = 160.f
 
const float ATTACH_MAX_HEIGHT = 90.f
 
const float ATTACH_SPINNER_RADIUS = 20.f
 
const ImVec2 ATTACH_SPINNER_PADDING = ImVec2(55.f, 25.f)
 
const ImVec4 RESOURCE_TITLE_COLOR = ImVec4(1.f, 1.f, 0.7f, 1.f)
 
const ImVec4 RESOURCE_INSTALL_BTN_COLOR = ImVec4(0.830, 0.655, 0.174, 1.f)
 

Private Member Functions

void TryProcessNextQueuedInstallRequest ()
 
void DrawFooterDownloadsInfo ()
 
bool CheckRepoFileIsInstalled (ResourceFiles &resfile, std::string &out_filepath)
 

Private Attributes

bool m_is_visible = false
 
bool m_draw = false
 
ResourcesCollection m_data
 
Str< 500 > m_search_input
 
std::string m_current_category
 
int m_current_category_id = 1
 
std::string m_all_category_label
 
std::string m_current_category_label
 
int m_gallery_mode_attachment_id = -1
 
bool m_show_spinner = false
 
std::string m_current_sort = "Last Update"
 
std::string m_view_mode = "List"
 
ResourceItemArrayPos_t m_resourceview_item_arraypos = RESOURCEITEMARRAYPOS_INVALID
 
Ogre::TexturePtr m_fallback_thumbnail
 
RepoAttachmentsMap m_repo_attachments
 Fully loaded images in memory.
 
RepoFileInstallRequestID_t m_next_install_request_id = 0
 
std::vector< RepoFileInstallRequestm_queued_install_requests
 
RepoFileInstallRequestID_t m_active_install_request_id = REPOFILEINSTALLREQUESTID_INVALID
 
Ogre::uint16 m_ogre_workqueue_channel = 0
 
RepoImageRequestHandler m_repo_image_request_handler
 
std::string m_repofiles_msg
 
std::string m_repolist_msg
 
ImVec4 m_repolist_msg_color
 
std::string m_repolist_curlmsg
 Displayed as dimmed text.
 
std::string m_repolist_httpmsg
 Displayed as dimmed text.
 

Detailed Description

Definition at line 144 of file GUI_RepositorySelector.h.

Constructor & Destructor Documentation

◆ RepositorySelector()

RepositorySelector::RepositorySelector ( )

Definition at line 386 of file GUI_RepositorySelector.cpp.

◆ ~RepositorySelector()

RepositorySelector::~RepositorySelector ( )

Definition at line 394 of file GUI_RepositorySelector.cpp.

Member Function Documentation

◆ CheckRepoFileIsInstalled()

bool RepositorySelector::CheckRepoFileIsInstalled ( ResourceFiles resfile,
std::string &  out_filepath 
)
private

Definition at line 2021 of file GUI_RepositorySelector.cpp.

◆ DownloadAttachment()

void RepositorySelector::DownloadAttachment ( int  attachment_id,
std::string const &  attachment_ext 
)

Definition at line 1473 of file GUI_RepositorySelector.cpp.

◆ DownloadBBCodeAttachmentsRecursive()

void RepositorySelector::DownloadBBCodeAttachmentsRecursive ( const bbcpp::BBNode parent)

Definition at line 1453 of file GUI_RepositorySelector.cpp.

◆ DownloadImage()

void RepositorySelector::DownloadImage ( RepoImageDownloadRequest request)
static

To be run on background via Ogre WorkQueue.

Definition at line 1873 of file GUI_RepositorySelector.cpp.

◆ Draw()

void RepositorySelector::Draw ( )

Definition at line 397 of file GUI_RepositorySelector.cpp.

◆ DrawAttachment()

void RepositorySelector::DrawAttachment ( BBCodeDrawingContext context,
int  attachment_id 
)

Definition at line 1816 of file GUI_RepositorySelector.cpp.

◆ DrawFooterDownloadsInfo()

void RepositorySelector::DrawFooterDownloadsInfo ( )
private

Definition at line 983 of file GUI_RepositorySelector.cpp.

◆ DrawGalleryView()

void RepositorySelector::DrawGalleryView ( )

Definition at line 1006 of file GUI_RepositorySelector.cpp.

◆ DrawResourceDescriptionBBCode()

void RepositorySelector::DrawResourceDescriptionBBCode ( const ResourceItem item,
ImVec2  panel_screenpos,
ImVec2  panel_size 
)

Definition at line 1743 of file GUI_RepositorySelector.cpp.

◆ DrawResourceView()

void RepositorySelector::DrawResourceView ( float  searchbox_x)

Definition at line 1041 of file GUI_RepositorySelector.cpp.

◆ DrawResourceViewRightColumn()

void RepositorySelector::DrawResourceViewRightColumn ( )

Definition at line 1188 of file GUI_RepositorySelector.cpp.

◆ DrawThumbnail()

void RepositorySelector::DrawThumbnail ( ResourceItemArrayPos_t  resource_arraypos,
ImVec2  image_size,
float  spinner_size,
ImVec2  spinner_cursor 
)

Definition at line 1768 of file GUI_RepositorySelector.cpp.

◆ GetNextInstallRequestId()

RepoFileInstallRequestID_t RoR::GUI::RepositorySelector::GetNextInstallRequestId ( )
inline

Definition at line 179 of file GUI_RepositorySelector.h.

◆ InstallDownloadedRepoFile()

void RepositorySelector::InstallDownloadedRepoFile ( MsgType  result,
RepoFileInstallRequest request 
)

Definition at line 1548 of file GUI_RepositorySelector.cpp.

◆ IsVisible()

bool RoR::GUI::RepositorySelector::IsVisible ( ) const
inline

Definition at line 158 of file GUI_RepositorySelector.h.

◆ LoadDownloadedImage()

void RepositorySelector::LoadDownloadedImage ( RepoImageDownloadRequest request)

To be run on main thread.

Definition at line 1962 of file GUI_RepositorySelector.cpp.

◆ NotifyRepoFileUninstalled()

void RepositorySelector::NotifyRepoFileUninstalled ( std::string const &  filename)

Definition at line 1584 of file GUI_RepositorySelector.cpp.

◆ OpenResource()

void RepositorySelector::OpenResource ( int  resource_id)

Definition at line 1503 of file GUI_RepositorySelector.cpp.

◆ QueueInstallRepoFile()

void RepositorySelector::QueueInstallRepoFile ( RepoFileInstallRequest request)

Definition at line 1525 of file GUI_RepositorySelector.cpp.

◆ Refresh()

void RepositorySelector::Refresh ( )

Definition at line 1361 of file GUI_RepositorySelector.cpp.

◆ RequestInstallRepoFile()

void RepositorySelector::RequestInstallRepoFile ( int  resource_id,
int  datafile_pos,
std::string  filepath 
)

Definition at line 1513 of file GUI_RepositorySelector.cpp.

◆ SetVisible()

void RepositorySelector::SetVisible ( bool  visible)

Definition at line 1609 of file GUI_RepositorySelector.cpp.

◆ ShowError()

void RepositorySelector::ShowError ( CurlFailInfo failinfo)

Definition at line 1597 of file GUI_RepositorySelector.cpp.

◆ TryProcessNextQueuedInstallRequest()

void RepositorySelector::TryProcessNextQueuedInstallRequest ( )
private

Definition at line 1531 of file GUI_RepositorySelector.cpp.

◆ UpdateResourceFilesAndDescription()

void RepositorySelector::UpdateResourceFilesAndDescription ( ResourcesCollection data)

Definition at line 1394 of file GUI_RepositorySelector.cpp.

◆ UpdateResources()

void RepositorySelector::UpdateResources ( ResourcesCollection data)

Definition at line 1373 of file GUI_RepositorySelector.cpp.

Field Documentation

◆ ATTACH_MAX_HEIGHT

const float RoR::GUI::RepositorySelector::ATTACH_MAX_HEIGHT = 90.f

Definition at line 148 of file GUI_RepositorySelector.h.

◆ ATTACH_MAX_WIDTH

const float RoR::GUI::RepositorySelector::ATTACH_MAX_WIDTH = 160.f

Definition at line 147 of file GUI_RepositorySelector.h.

◆ ATTACH_SPINNER_PADDING

const ImVec2 RoR::GUI::RepositorySelector::ATTACH_SPINNER_PADDING = ImVec2(55.f, 25.f)

Definition at line 150 of file GUI_RepositorySelector.h.

◆ ATTACH_SPINNER_RADIUS

const float RoR::GUI::RepositorySelector::ATTACH_SPINNER_RADIUS = 20.f

Definition at line 149 of file GUI_RepositorySelector.h.

◆ m_active_install_request_id

RepoFileInstallRequestID_t RoR::GUI::RepositorySelector::m_active_install_request_id = REPOFILEINSTALLREQUESTID_INVALID
private

Definition at line 203 of file GUI_RepositorySelector.h.

◆ m_all_category_label

std::string RoR::GUI::RepositorySelector::m_all_category_label
private

Definition at line 192 of file GUI_RepositorySelector.h.

◆ m_current_category

std::string RoR::GUI::RepositorySelector::m_current_category
private

Definition at line 190 of file GUI_RepositorySelector.h.

◆ m_current_category_id

int RoR::GUI::RepositorySelector::m_current_category_id = 1
private

Definition at line 191 of file GUI_RepositorySelector.h.

◆ m_current_category_label

std::string RoR::GUI::RepositorySelector::m_current_category_label
private

Definition at line 193 of file GUI_RepositorySelector.h.

◆ m_current_sort

std::string RoR::GUI::RepositorySelector::m_current_sort = "Last Update"
private

Definition at line 196 of file GUI_RepositorySelector.h.

◆ m_data

ResourcesCollection RoR::GUI::RepositorySelector::m_data
private

Definition at line 188 of file GUI_RepositorySelector.h.

◆ m_draw

bool RoR::GUI::RepositorySelector::m_draw = false
private

Definition at line 187 of file GUI_RepositorySelector.h.

◆ m_fallback_thumbnail

Ogre::TexturePtr RoR::GUI::RepositorySelector::m_fallback_thumbnail
private

Definition at line 199 of file GUI_RepositorySelector.h.

◆ m_gallery_mode_attachment_id

int RoR::GUI::RepositorySelector::m_gallery_mode_attachment_id = -1
private

Definition at line 194 of file GUI_RepositorySelector.h.

◆ m_is_visible

bool RoR::GUI::RepositorySelector::m_is_visible = false
private

Definition at line 186 of file GUI_RepositorySelector.h.

◆ m_next_install_request_id

RepoFileInstallRequestID_t RoR::GUI::RepositorySelector::m_next_install_request_id = 0
private

Definition at line 201 of file GUI_RepositorySelector.h.

◆ m_ogre_workqueue_channel

Ogre::uint16 RoR::GUI::RepositorySelector::m_ogre_workqueue_channel = 0
private

Definition at line 206 of file GUI_RepositorySelector.h.

◆ m_queued_install_requests

std::vector<RepoFileInstallRequest> RoR::GUI::RepositorySelector::m_queued_install_requests
private

Definition at line 202 of file GUI_RepositorySelector.h.

◆ m_repo_attachments

RepoAttachmentsMap RoR::GUI::RepositorySelector::m_repo_attachments
private

Fully loaded images in memory.

Definition at line 200 of file GUI_RepositorySelector.h.

◆ m_repo_image_request_handler

RepoImageRequestHandler RoR::GUI::RepositorySelector::m_repo_image_request_handler
private

Definition at line 207 of file GUI_RepositorySelector.h.

◆ m_repofiles_msg

std::string RoR::GUI::RepositorySelector::m_repofiles_msg
private

Definition at line 210 of file GUI_RepositorySelector.h.

◆ m_repolist_curlmsg

std::string RoR::GUI::RepositorySelector::m_repolist_curlmsg
private

Displayed as dimmed text.

Definition at line 213 of file GUI_RepositorySelector.h.

◆ m_repolist_httpmsg

std::string RoR::GUI::RepositorySelector::m_repolist_httpmsg
private

Displayed as dimmed text.

Definition at line 214 of file GUI_RepositorySelector.h.

◆ m_repolist_msg

std::string RoR::GUI::RepositorySelector::m_repolist_msg
private

Definition at line 211 of file GUI_RepositorySelector.h.

◆ m_repolist_msg_color

ImVec4 RoR::GUI::RepositorySelector::m_repolist_msg_color
private

Definition at line 212 of file GUI_RepositorySelector.h.

◆ m_resourceview_item_arraypos

ResourceItemArrayPos_t RoR::GUI::RepositorySelector::m_resourceview_item_arraypos = RESOURCEITEMARRAYPOS_INVALID
private

Definition at line 198 of file GUI_RepositorySelector.h.

◆ m_search_input

Str<500> RoR::GUI::RepositorySelector::m_search_input
private

Definition at line 189 of file GUI_RepositorySelector.h.

◆ m_show_spinner

bool RoR::GUI::RepositorySelector::m_show_spinner = false
private

Definition at line 195 of file GUI_RepositorySelector.h.

◆ m_view_mode

std::string RoR::GUI::RepositorySelector::m_view_mode = "List"
private

Definition at line 197 of file GUI_RepositorySelector.h.

◆ RESOURCE_INSTALL_BTN_COLOR

const ImVec4 RoR::GUI::RepositorySelector::RESOURCE_INSTALL_BTN_COLOR = ImVec4(0.830, 0.655, 0.174, 1.f)

Definition at line 152 of file GUI_RepositorySelector.h.

◆ RESOURCE_TITLE_COLOR

const ImVec4 RoR::GUI::RepositorySelector::RESOURCE_TITLE_COLOR = ImVec4(1.f, 1.f, 0.7f, 1.f)

Definition at line 151 of file GUI_RepositorySelector.h.


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