//
// ShowtxtDlg dialog
//
// Written by John A deLaubenfels, https://www.adaptune.com/steg.htm .
// Permission granted to use freely in any non-fraudulent way.
//

#pragma once
#include "afxdialogex.h"
#include <string>
#include "CEdtX.h"



class ShowtxtDlg : public CDialogEx
{
   DECLARE_DYNAMIC(ShowtxtDlg)

public:
   ShowtxtDlg(CWnd* pParent = nullptr);   // standard constructor
   virtual ~ShowtxtDlg();

// Dialog Data
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_SHOWTXT };
#endif

protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

   DECLARE_MESSAGE_MAP()
public:
   CEdtX       m_cEdt_show;
   std::string m_ssKeepFind;
   // const char *m_pcBigString;
   std::string m_ssBigString;
   std::string m_ssBanner;
   stegInfo   *m_pCommonInfo;
   virtual BOOL OnInitDialog();
   afx_msg void OnKillfocusEdtShow();
   afx_msg void OnBnClickedOk();
   bool        m_bAddedCrs;
   CFont      *m_myFont;
   virtual BOOL PreTranslateMessage(MSG* pMsg);
   afx_msg void OnClickedButnSaveas();
   afx_msg void OnClickedButnFind();
   afx_msg void OnClickedButnNext();
   afx_msg void OnClickedButnPrev();
   virtual void OnOK();
   virtual void OnCancel();
};




/////////////////////////////////////////////////////////////////////////////
//
//
/////////////////////////////////////////////////////////////////////////////





// FindDlg dialog

class FindDlg : public CDialogEx
{
   DECLARE_DYNAMIC(FindDlg)

public:
   FindDlg(CWnd* pParent = nullptr);   // standard constructor
   virtual ~FindDlg();

// Dialog Data
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_FINDY };
#endif

protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

   DECLARE_MESSAGE_MAP()
public:
   virtual BOOL PreTranslateMessage(MSG* pMsg);
   int m_enterAction;
   CEdit m_cEdt_find;
   afx_msg void OnKillfocusEdtFind();
   afx_msg void OnSetfocusEdtFind();
   virtual BOOL OnInitDialog();
   std::string m_ssFind;
   // CStatic m_stcPwdHint;
   // std::vector<unsigned long long> m_passwordSeedVector;
   // std::string m_ssBadPwd;
   // CStatic m_stcBadPwd;
   stegInfo *m_pCommonInfo;
   afx_msg void OnBnClickedOk();
   afx_msg void OnBnClickedCancel();
   afx_msg void OnClickedChkCaseSens();
   CButton m_chkCaseSens;
   bool    m_bCaseSens;
};





