csgo-2018-source/utils/hlmv/fileassociation.h
2021-07-24 21:11:47 -07:00

98 lines
2.0 KiB
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
//
// Half-Life Model Viewer (c) 1999 by Mete Ciragan
//
// file: FileAssociation.h
// last modified: Apr 28 1999, Mete Ciragan
// copyright: The programs and associated files contained in this
// distribution were developed by Mete Ciragan. The programs
// are not in the public domain, but they are freely
// distributable without licensing fees. These programs are
// provided without guarantee or warrantee expressed or
// implied.
//
// version: 1.2
//
// email: mete@swissquake.ch
// web: http://www.swissquake.ch/chumbalum-soft/
//
#ifndef INCLUDED_FILEASSOCIATION
#define INCLUDED_FILEASSOCIATION
#ifndef INCLUDED_MXWINDOW
#include <mxtk/mxWindow.h>
#endif
#define IDC_EXTENSION 1001
#define IDC_ADD 1002
#define IDC_REMOVE 1003
#define IDC_ACTION1 1004
#define IDC_ACTION2 1005
#define IDC_ACTION3 1006
#define IDC_ACTION4 1007
#define IDC_PROGRAM 1008
#define IDC_CHOOSEPROGRAM 1009
#define IDC_OK 1010
#define IDC_CANCEL 1011
typedef struct
{
char extension[16];
char program[256];
int association;
} association_t;
class mxChoice;
class mxRadioButton;
class mxLineEdit;
class mxButton;
class FileAssociation : public mxWindow
{
mxChoice *cExtension;
mxRadioButton *rbAction[4];
mxLineEdit *leProgram;
mxButton *bChooseProgram;
association_t d_associations[16];
void initAssociations ();
void saveAssociations ();
public:
// CREATORS
FileAssociation ();
virtual ~FileAssociation ();
// MANIPULATORS
int handleEvent (mxEvent *event);
void setAssociation (int index);
// ACCESSORS
int getMode (char *extension);
char *getProgram (char *extension);
};
extern FileAssociation *g_FileAssociation;
#endif // INCLUDED_FILEASSOCIATION