63 lines
1.9 KiB
C
63 lines
1.9 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "MID/Mid_Def.h"
|
||
|
|
#include <QtCore/QHash>
|
||
|
|
#include <QtCore/QString>
|
||
|
|
#include <QtCore/QVector>
|
||
|
|
|
||
|
|
struct Lgc_Core_Struct_State;
|
||
|
|
|
||
|
|
enum class Lgc_FunctionFeature_Type : quint8
|
||
|
|
{
|
||
|
|
KeyCombination = 0,
|
||
|
|
KeySequence = 1,
|
||
|
|
Website = 2
|
||
|
|
};
|
||
|
|
|
||
|
|
struct Lgc_FunctionFeature_Definition
|
||
|
|
{
|
||
|
|
int Id = 0;
|
||
|
|
QString Name;
|
||
|
|
QString Description;
|
||
|
|
Lgc_FunctionFeature_Type Type = Lgc_FunctionFeature_Type::KeyCombination;
|
||
|
|
QString SequenceText;
|
||
|
|
QString WebsiteUrl;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct Lgc_FunctionButton_Config
|
||
|
|
{
|
||
|
|
QHash<int, Lgc_FunctionFeature_Definition> FeatureMap;
|
||
|
|
QHash<quint16, int> UsageFeatureIdMap;
|
||
|
|
int NextFeatureId = 1;
|
||
|
|
};
|
||
|
|
|
||
|
|
QString Lgc_FunctionButton_GetUsageShortText(quint16 Usage);
|
||
|
|
QString Lgc_FunctionButton_GetFeatureTypeText(Lgc_FunctionFeature_Type Type);
|
||
|
|
QVector<quint16> Lgc_FunctionButton_GetConfigurableUsages();
|
||
|
|
QVector<int> Lgc_FunctionButton_GetFeatureIdList(const Lgc_FunctionButton_Config& Config);
|
||
|
|
Lgc_FunctionFeature_Definition Lgc_FunctionButton_GetFeature(
|
||
|
|
const Lgc_FunctionButton_Config& Config,
|
||
|
|
int FeatureId);
|
||
|
|
QString Lgc_FunctionButton_GetFeatureName(const Lgc_FunctionFeature_Definition& Feature);
|
||
|
|
int Lgc_FunctionButton_AddFeature(Lgc_FunctionButton_Config* p_Config);
|
||
|
|
void Lgc_FunctionButton_RemoveFeature(Lgc_FunctionButton_Config* p_Config, int FeatureId);
|
||
|
|
void Lgc_FunctionButton_SetFeature(
|
||
|
|
Lgc_FunctionButton_Config* p_Config,
|
||
|
|
const Lgc_FunctionFeature_Definition& Feature);
|
||
|
|
int Lgc_FunctionButton_GetUsageFeatureId(
|
||
|
|
const Lgc_FunctionButton_Config& Config,
|
||
|
|
quint16 Usage);
|
||
|
|
void Lgc_FunctionButton_SetUsageFeatureId(
|
||
|
|
Lgc_FunctionButton_Config* p_Config,
|
||
|
|
quint16 Usage,
|
||
|
|
int FeatureId);
|
||
|
|
bool Lgc_FunctionButton_HasUsageFeature(
|
||
|
|
const Lgc_FunctionButton_Config& Config,
|
||
|
|
quint16 Usage);
|
||
|
|
|
||
|
|
bool Lgc_FunctionButton_SendUsageToWindows(quint16 Usage, bool IsPressed);
|
||
|
|
bool Lgc_FunctionButton_RunBinding(
|
||
|
|
Lgc_Core_Struct_State* p_State,
|
||
|
|
quint16 Usage,
|
||
|
|
QString* p_TextStatus);
|