ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Types | Signals | Public Member Functions | List of all members
ClientCountryModel Class Referencefinal

Model for displaying countries fetched from the server. More...

#include <ClientCountryModel.hpp>

Inherits QAbstractTableModel.

Collaboration diagram for ClientCountryModel:
Collaboration graph

Public Types

enum  Column {
  Flag , Name , Alpha2Code , Alpha3Code ,
  NumericCode , OfficialName , Version , RecordedBy ,
  RecordedAt , ColumnCount
}
 Enumeration of table columns for type-safe column access.
 

Signals

void dataLoaded ()
 Emitted when data has been successfully loaded.
 
void loadError (const QString &error_message, const QString &details={})
 Emitted when an error occurs during data loading.
 

Public Member Functions

 ClientCountryModel (ClientManager *clientManager, ImageCache *imageCache, QObject *parent=nullptr)
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
void refresh (bool replace=true)
 Refresh country data from server asynchronously.
 
void load_page (std::uint32_t offset, std::uint32_t limit)
 Load a specific page of country data.
 
bool canFetchMore (const QModelIndex &parent=QModelIndex()) const override
 Check if more data can be fetched from the server.
 
void fetchMore (const QModelIndex &parent=QModelIndex()) override
 Fetch the next page of data from the server.
 
const refdata::domain::countrygetCountry (int row) const
 Get country at the specified row.
 
std::vector< refdata::domain::countrygetCountries () const
 Get all countries.
 
std::uint32_t page_size () const
 Get the page size used for pagination.
 
void set_page_size (std::uint32_t size)
 Set the page size for pagination.
 
std::uint32_t total_available_count () const
 Get the total number of records available on the server.
 

Detailed Description

Model for displaying countries fetched from the server.

This model extends QAbstractTableModel and fetches country data asynchronously using the ores.comms client.

Member Function Documentation

◆ refresh()

void refresh ( bool  replace = true)

Refresh country data from server asynchronously.

Parameters
replaceIf true, replace existing data; if false, append.

◆ load_page()

void load_page ( std::uint32_t  offset,
std::uint32_t  limit 
)

Load a specific page of country data.

Parameters
offsetNumber of records to skip
limitNumber of records to fetch

◆ getCountry()

const refdata::domain::country * getCountry ( int  row) const

Get country at the specified row.

Parameters
rowThe row index.
Returns
The country object, or nullptr if row is invalid.

◆ getCountries()

std::vector< refdata::domain::country > getCountries ( ) const

Get all countries.

Returns
A vector containing all current countries.

◆ set_page_size()

void set_page_size ( std::uint32_t  size)

Set the page size for pagination.

Parameters
sizeThe number of records to fetch per page (1-1000).