mirror of
https://github.com/silverf0x/RpcView
synced 2026-06-08 17:26:38 +00:00
87 lines
2.3 KiB
C++
87 lines
2.3 KiB
C++
#ifndef _INTERFACES_WIDGET_H_
|
|
#define _INTERFACES_WIDGET_H_
|
|
|
|
#include "..\Qt\Qt.h"
|
|
#include "..\RpcCore\RpcCore.h"
|
|
#include "FilterWidget.h"
|
|
#include "View.h"
|
|
#include "..\RpcCommon\RpcCommon.h"
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
class InterfacesWidget_C : public QDockWidget, public View_I
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
typedef enum{
|
|
Column_Pid,
|
|
Column_Uuid,
|
|
Column_Version,
|
|
Column_IfType,
|
|
Column_NumberOfProcedures,
|
|
Column_HasMarshallingInfo,
|
|
Column_IfCallbackFn,
|
|
Column_Name,
|
|
Column_Base,
|
|
Column_Location,
|
|
Column_Flags,
|
|
Column_Description,
|
|
Column_IsRegistered,
|
|
Column_Annotation,
|
|
Column_TransfertSyntax,
|
|
Column_Last //Must be the last one
|
|
}Column_T;
|
|
|
|
InterfacesWidget_C(QWidget* pParent);
|
|
virtual void AcceptVisitor(ViewVisitor_C* pVisitor);
|
|
ULONG GetInterfaces();
|
|
ULONG GetTotalInterfaces();
|
|
bool IsInterfacePresent(quint32 Pid, RPC_IF_ID* pIfIp);
|
|
void RemoveUnregisteredInterfaces();
|
|
void SnapInterfaces();
|
|
void SaveConfiguration(QSettings*);
|
|
void LoadConfiguration(QSettings*);
|
|
void UpdateUserFilter();
|
|
QWidget* GetColumnsSelectionWidget();
|
|
void UpdateColumnsVisibility();
|
|
void CreateColumnsSelectionWidget();
|
|
|
|
void ApplyProcessFilter(quint32 Pid);
|
|
void resizeColumnsToContents();
|
|
bool AddInterfaces(RpcInterfaceInfo_T* pRpcInterfaceInfo);
|
|
void SetAddressRepresentation(AddressRepresentation_T AddressRepresentation);
|
|
|
|
public slots:
|
|
void ApplyUserFilter(const QString &);
|
|
|
|
private slots:
|
|
void InterfaceSelected(const QModelIndex& Index);
|
|
void SetRowColor(int Index,const QColor& Color);
|
|
void ShowUserFilter();
|
|
void HideUserFilter();
|
|
|
|
signals:
|
|
void InterfaceSelected(quint32 Pid, RPC_IF_ID* pIf);
|
|
void SigDecompileInterface(quint32 Pid, RPC_IF_ID* pIf);
|
|
|
|
private:
|
|
FilterWidget_C* pFilterWidget;
|
|
QTreeView* pInterfaces;
|
|
QSortFilterProxyModel* pProxyModel;
|
|
QStandardItemModel* pModel;
|
|
QLineEdit* pUserFilter;
|
|
QLabel* pMatchingItems;
|
|
QList<QStandardItem*> PrivateItemList;
|
|
QGroupBox* pColumnsSelectionWidget;
|
|
QCheckBox* ColumnsCheckBoxArray[Column_Last];
|
|
QWidget* pColorSelectionWidget;
|
|
QSignalMapper* SignalMapper;
|
|
AddressRepresentation_T AddressRepresentation;
|
|
|
|
QString GetColumName(Column_T Column);
|
|
};
|
|
|
|
#endif// _INTERFACES_WIDGET_H_
|