iup-stack/iup/srccontrols/matrixex/iup_matrixex.h

77 lines
1.9 KiB
C
Raw Normal View History

2023-02-20 16:44:45 +00:00
/** \file
* \brief IupMatrix Expansion Library.
*
* See Copyright Notice in "iup.h"
*/
#ifndef __IUP_MATRIXEX_H
#define __IUP_MATRIXEX_H
#include "iup_array.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _ImatExData
{
Ihandle* ih; /* self reference */
int busy, busy_count, busy_undo_block,
busy_progress_abort;
IFniis busy_cb;
Ihandle* busy_progress_dlg;
Ihandle* find_dlg;
Iarray* undo_stack;
int undo_stack_pos;
int undo_stack_hold;
} ImatExData;
/* Busy */
void iupMatrixExBusyStart(ImatExData* matex_data, int count, const char* busyname);
int iupMatrixExBusyInc(ImatExData* matex_data);
void iupMatrixExBusyEnd(ImatExData* matex_data);
/* Undo */
void iupMatrixExUndoPushBegin(ImatExData* matex_data, const char* busyname);
void iupMatrixExUndoPushEnd(ImatExData* matex_data);
void iupMatrixExUndoShowDialog(ImatExData* matex_data);
/* Sort */
void iupMatrixExSortShowDialog(ImatExData* matex_data);
/* Find */
void iupMatrixExFindShowDialog(ImatExData* matex_data);
/* Visible */
int iupMatrixExIsColumnVisible(Ihandle* ih, int col);
int iupMatrixExIsLineVisible(Ihandle* ih, int lin);
/* Common */
void iupMatrixExCheckLimitsOrder(int *v1, int *v2, int min, int max);
void iupMatrixExGetDialogPosition(ImatExData* matex_data, int *x, int *y);
void iupMatrixExRegisterClipboard(Iclass* ic);
void iupMatrixExRegisterBusy(Iclass* ic);
void iupMatrixExRegisterVisible(Iclass* ic);
void iupMatrixExRegisterExport(Iclass* ic);
void iupMatrixExRegisterCopy(Iclass* ic);
void iupMatrixExRegisterUnits(Iclass* ic);
void iupMatrixExRegisterUndo(Iclass* ic);
void iupMatrixExRegisterFind(Iclass* ic);
void iupMatrixExRegisterSort(Iclass* ic);
/* Implemented in IupMatrix */
char* iupMatrixExGetCellValue(Ihandle* ih, int lin, int col, int display);
void iupMatrixExSetCellValue(Ihandle* ih, int lin, int col, const char* value); /* NO numeric conversion */
#ifdef __cplusplus
}
#endif
#endif