#if !defined(AFX_SELECTCLASSIFIERITEMDLG_H__737858A3_E04A_4C5E_B75A_552F858F1044__INCLUDED_)
#define AFX_SELECTCLASSIFIERITEMDLG_H__737858A3_E04A_4C5E_B75A_552F858F1044__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// SelectClassifierItemDlg.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CSelectClassifierItemDlg dialog
#include "apl_api.h"
#include "resource.h"
#include "BaseFrame.h"
#include "afxwin.h"
#include "apl_gui.h"

class CClassifierTableItemsView;

class CSelectClassifierItemDlg : public CaplResizableDialog
{
// Construction
protected:
	CaplAPI						*m_api;
	CBaseFrame					*m_pFrame;
	CClassifierTableItemsView	*m_pTableView;
	UINT m_Mode;

public:
	CSelectClassifierItemDlg(CaplAPI* api, UINT mode = APL_SELECT_CLASSIFIER_LEVEL, CWnd* pParent = NULL);   // standard constructor
	~CSelectClassifierItemDlg();

	aplExtent		m_BaseClassifierSystems;
	CaplInstance	*m_SelectedItem;
	CaplInstance	*m_SelectedSystem;
	CString			m_sTitle;
	aplExtent		*m_extItems4Add;
	SSelectItemFilter	* m_filter;
	bool			m_first_filter_feel;
// Dialog Data
	//{{AFX_DATA(CSelectClassifierItemDlg)
	enum { IDD = IDD_SELECT_CLASSIFIER_ITEM_DLG };
	CaplButton	m_cancel_btn;
	CaplButton	m_ok_btn;
	CaplButton m_FindBtn;
	//}}AFX_DATA

	CToolTipCtrl *m_ToolTipCtrl;

	// проверяет, есть ли в дереве выбранный справочник; и если есть - показывает для него поля поиска
	void CheckFillFindButtons(CaplInstance *item);

	// Добавляет в комбобокс отношений новое отношение и делает его выбранным если default_relation == relation
	void InsertRelation(CaplQLQuery::aplQLLogRelation relation, CaplQLQuery::aplQLLogRelation default_relation);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSelectClassifierItemDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// предотвращаем потерю модальности после диалога с бочками из aplSocketTransport
	CaplParentWndProcesser m_pwp;

	// Generated message map functions
	//{{AFX_MSG(CSelectClassifierItemDlg)
	virtual BOOL OnInitDialog();
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	virtual void OnOK();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	CEdit m_find_str_ctrl;
	CComboBox m_combo_find_attr;
	CComboBox m_combo_find_object;
	CComboBox m_combo_find_relation;
	afx_msg void OnCbnSelchangeComboObjectType();
	afx_msg void OnBnClickedFind();
	
	CaplButton m_add_btn;
	afx_msg void OnBnClickedAdd();
	CStatic m_st_selected_count;
	virtual BOOL DestroyWindow();
protected:
	virtual void OnCancel();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SELECTCLASSIFIERITEMDLG_H__737858A3_E04A_4C5E_B75A_552F858F1044__INCLUDED_)
