-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBaseSampleDialogSettingOption.h
More file actions
87 lines (79 loc) · 3.15 KB
/
BaseSampleDialogSettingOption.h
File metadata and controls
87 lines (79 loc) · 3.15 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
76
77
78
79
80
81
82
83
84
85
86
87
#pragma once
#include "BaseSampleDialogSettingSymbol.h"
enum BaseSampleDialogSettingOptionIds
{
#ifndef TAKION_NO_OPTIONS
groupSymbolOptionId = baseSymbolIdsCount,
checkBoxSymbolOptionId,
radioSymbolOptionCallId,
radioSymbolOptionPutId,
comboBoxSymbolOptionSuffixId,
staticSymbolOptionSuffixId,
spinSymbolOptionStrikePriceId,
staticSymbolOptionStrikePriceId,
datetimeSymbolOptionExpirationId,
staticSymbolOptionExpirationId,
baseSymbolOptionIdsCount
#else
baseSymbolOptionIdsCount = baseSymbolIdsCount,
#endif
};
class BaseSampleDialogSettingOption : public BaseSampleDialogSettingSymbol
{
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{return true;}
virtual bool isOptionUsed() const{return m_optionMode;}
virtual bool AreSettingsValid() const override;
bool AreOptionSettingsValid() const;
bool isExpirationValid() const;
bool GetOptionValues(unsigned __int64& rootSymbol, unsigned __int64& underlierSymbol, unsigned __int64& optionBlock, unsigned short& optionType) const;
void HideOptionControls(bool hide);
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:
BaseSampleDialogSettingOption(TakionMainWnd* mainWnd, TakionSettingTabDialog* parentTab, bool useAccount, const char* label, int accountWidth, int accountTopOffset);
#ifndef TAKION_NO_OPTIONS
virtual void ToolTipsEnabled(bool enable) override;
virtual void DoDataExchange(CDataExchange* pDX) override;
virtual BOOL OnInitDialog() override;
CButton m_GroupOption;
CStatic m_StaticOptionSuffix;
CStatic m_StaticOptionStrikePrice;
CStatic m_StaticOptionExpiration;
CheckBoxOwnerDraw m_CheckBoxOption;
RadioGroup m_RadioGroupOption;
RadioOwnerDraw m_RadioOptionCall;
RadioOwnerDraw 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;
afx_msg LRESULT OnSpinChange(WPARAM w, LPARAM l);
DECLARE_MESSAGE_MAP()
virtual bool OptionModeChanged();
virtual void OptionValuesChanged(){}
// virtual void SymbolTypeChanged() override;
#endif
};