56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
#ifndef _MESHWRP_FACTOR_HPP_
|
|
#define _MESHWRP_FACTOR_HPP_
|
|
#ifndef _COMMON_DWINDOW_HPP_
|
|
#include <common/dwindow.hpp>
|
|
#endif
|
|
#ifndef _COMMON_BLOCK_HPP_
|
|
#include <common/block.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
|
|
class Factor : public DWindow
|
|
{
|
|
public:
|
|
enum Type{Incremental,NonIncremental};
|
|
enum Operation{Add,Subtract,Multiply,Divide,None};
|
|
Factor(GUIWindow &parent,const String &strCaption);
|
|
virtual ~Factor();
|
|
bool showFactor(double &widthFactor,double &heightFactor);
|
|
bool showFactor(double &widthFactor,double &heightFactor,
|
|
double &widthIncremental,Operation &widthOperation,
|
|
double &heightIncremental, Operation &heightOperation);
|
|
private:
|
|
CallbackData::ReturnType initHandler(CallbackData &callbackData);
|
|
CallbackData::ReturnType commandHandler(CallbackData &callbackData);
|
|
void handleWidth(CallbackData &callackData);
|
|
void handleHeight(CallbackData &callbackData);
|
|
void handleOk(CallbackData &callbackData);
|
|
void handleCancel(void);
|
|
|
|
// virtual int DlgProc(UINT message,WPARAM wParam,LPARAM lParam);
|
|
void initializeStrings(void);
|
|
void currentOperation(WORD stringIndex,Operation &operation)const;
|
|
|
|
HWND mhParent;
|
|
HINSTANCE mhInstance;
|
|
String mCaption;
|
|
Callback<Factor> mInitHandler;
|
|
Callback<Factor> mCommandHandler;
|
|
|
|
// char mCaption[MaxCaption];
|
|
double mWidthFactor;
|
|
double mWidthIncremental;
|
|
Operation mWidthOperation;
|
|
double mHeightFactor;
|
|
double mHeightIncremental;
|
|
Operation mHeightOperation;
|
|
Type mFactorType;
|
|
Block<String> mWidthStrings;
|
|
Block<String> mHeightStrings;
|
|
WORD mWidthStringIndex;
|
|
WORD mHeightStringIndex;
|
|
};
|
|
#endif
|