xref: /aosp_15_r20/sdk/find_java2/src/FindJava2Dlg.h (revision 1789df15502f1991eff51ff970dce5df8404dd56)
1*1789df15SXin Li /*
2*1789df15SXin Li * Copyright (C) 2014 The Android Open Source Project
3*1789df15SXin Li *
4*1789df15SXin Li * Licensed under the Apache License, Version 2.0 (the "License");
5*1789df15SXin Li * you may not use this file except in compliance with the License.
6*1789df15SXin Li * You may obtain a copy of the License at
7*1789df15SXin Li *
8*1789df15SXin Li *      http://www.apache.org/licenses/LICENSE-2.0
9*1789df15SXin Li *
10*1789df15SXin Li * Unless required by applicable law or agreed to in writing, software
11*1789df15SXin Li * distributed under the License is distributed on an "AS IS" BASIS,
12*1789df15SXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*1789df15SXin Li * See the License for the specific language governing permissions and
14*1789df15SXin Li * limitations under the License.
15*1789df15SXin Li */
16*1789df15SXin Li 
17*1789df15SXin Li #pragma once
18*1789df15SXin Li #include "afxwin.h"
19*1789df15SXin Li #include "JavaFinder.h"
20*1789df15SXin Li 
21*1789df15SXin Li #include "resource.h"		// main symbols
22*1789df15SXin Li 
23*1789df15SXin Li 
24*1789df15SXin Li // CFindJava2Dlg dialog
25*1789df15SXin Li class CFindJava2Dlg : public CDialog {
26*1789df15SXin Li     // Construction
27*1789df15SXin Li public:
28*1789df15SXin Li     CFindJava2Dlg(CWnd* pParent = NULL);	// standard constructor
29*1789df15SXin Li 
setJavaFinder(CJavaFinder * javaFinder)30*1789df15SXin Li     void setJavaFinder(CJavaFinder *javaFinder) { mJavaFinder = javaFinder;  }
31*1789df15SXin Li     const CJavaPath& getSelectedPath();
32*1789df15SXin Li 
33*1789df15SXin Li     // Dialog Data
34*1789df15SXin Li     enum { IDD = IDD_FINDJAVA2_DIALOG };
35*1789df15SXin Li 
36*1789df15SXin Li protected:
37*1789df15SXin Li     virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
38*1789df15SXin Li 
39*1789df15SXin Li 
40*1789df15SXin Li     // Implementation
41*1789df15SXin Li protected:
42*1789df15SXin Li     HICON m_hIcon;
43*1789df15SXin Li 
44*1789df15SXin Li     // Generated message map functions
45*1789df15SXin Li     virtual BOOL OnInitDialog();
46*1789df15SXin Li     afx_msg void OnPaint();
47*1789df15SXin Li     afx_msg HCURSOR OnQueryDragIcon();
48*1789df15SXin Li     DECLARE_MESSAGE_MAP()
49*1789df15SXin Li 
50*1789df15SXin Li     afx_msg void OnBnClickedButtonAdd();
51*1789df15SXin Li     afx_msg void OnNMClickPathList(NMHDR *pNMHDR, LRESULT *pResult);
52*1789df15SXin Li     afx_msg void OnLvnItemchangedPathList(NMHDR *pNMHDR, LRESULT *pResult);
53*1789df15SXin Li 
54*1789df15SXin Li private:
55*1789df15SXin Li     std::set<CJavaPath> mPaths;
56*1789df15SXin Li     int mSelectedIndex;
57*1789df15SXin Li     CJavaFinder *mJavaFinder;
58*1789df15SXin Li     CListCtrl mPathsListCtrl;
59*1789df15SXin Li     CButton mOkButton;
60*1789df15SXin Li 
61*1789df15SXin Li     void fillPathsList();
62*1789df15SXin Li     void adjustButtons();
63*1789df15SXin Li     void selectPath(int index = -1, const CJavaPath *path = nullptr);
64*1789df15SXin Li };
65