Repository navigation
Expand file tree
/
Copy pathBaseDialogSettingSimulateAccountOption.h
More file actions
75 lines (68 loc) · 2.68 KB
/
Copy pathBaseDialogSettingSimulateAccountOption.h
File metadata and controls
75 lines (68 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma once
#include "BaseDialogSettingSimulateAccountSymbol.h"
enum BaseDialogSettingSimulateAccountOptionIds
{
#ifndef TAKION_NO_OPTIONS
groupAccountOptionId = baseSimulateAccountSymbolIdsCount,
checkBoxAccountOptionId,
radioAccountOptionCallId,
radioAccountOptionPutId,
comboBoxAccountOptionSuffixId,
staticAccountOptionSuffixId,
spinAccountOptionStrikePriceId,
staticAccountOptionStrikePriceId,
datetimeAccountOptionExpirationId,
staticAccountOptionExpirationId,
baseSimulateAccountOptionIdsCount
#else
baseSimulateAccountOptionIdsCount = baseSimulateAccountSymbolIdsCount
#endif
};
class BaseDialogSettingSimulateAccountOption : public BaseDialogSettingSimulateAccountSymbol
{
public:
#ifndef TAKION_NO_OPTIONS
unsigned int GetExpirationDate() const{return (unsigned int)m_expirationYear * 10000 + (unsigned int)m_expirationMonth * 100 + m_expirationDay;}
virtual bool isOptionModeUsed() const;
virtual bool isOptionUsed() const{return m_optionMode && isOptionModeUsed();}
void SetExpirationDate(unsigned int date);
void SetCallPut(bool call);
void SetStrikePrice(const Price& strikePrice);
void SetOptionValues(bool useOption, char suffix, bool call, const Price& strikePrice, unsigned int expirationDate);
#endif
protected:
BaseDialogSettingSimulateAccountOption(TakionMainWnd* mainWnd, TakionSettingTabDialog* parentTab, const char* label);
#ifndef TAKION_NO_OPTIONS
virtual void DoDataExchange(CDataExchange* pDX) override;
virtual BOOL OnInitDialog() override;
virtual void ToolTipsEnabled(bool enable) override;
CheckBoxOwnerDraw m_CheckBoxOption;
CButton m_RadioOptionCall;
CButton m_RadioOptionPut;
ComboBoxChar m_ComboBoxOptionSuffix;
UnsignedNumberTypeSpin<unsigned int> m_SpinOptionStrikePrice;
ColorDateTimeCtrl m_DateTimeOptionExpiration;
afx_msg void OnCalendarDropdown(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnCalendarCloseup(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnExpirationDateChange(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnOption();
afx_msg void OnOptionCall();
afx_msg void OnOptionPut();
afx_msg void OnSelchangeOptionSuffix();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
bool m_optionMode;
char m_optionSuffix;
bool m_optionCall;
unsigned char m_expirationYear;
unsigned char m_expirationMonth;
unsigned char m_expirationDay;
Price m_strikePrice;
bool UpdateOptionExpirationValue();
void SetOptionCall(const bool call);
virtual bool isSendMessageButtonEnabled() const override;
virtual bool OptionModeChanged();
afx_msg LRESULT OnSpinChange(WPARAM w, LPARAM l);
DECLARE_MESSAGE_MAP()
// virtual void SymbolTypeChanged() override;
#endif
};