📄 pref.cpp
字号:
// Pref.cpp : implementation file
//
#include "stdafx.h"
#include "femmview.h"
#include "Pref.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPref dialog
CPref::CPref(CWnd* pParent /*=NULL*/)
: CDialog(CPref::IDD, pParent)
, m_d_luaconsole(FALSE)
{
//{{AFX_DATA_INIT(CPref)
m_d_GreyContours = FALSE;
m_d_LegendFlag = FALSE;
m_d_NumContours = 0;
m_d_ResetOnReload = FALSE;
m_d_GridFlag = FALSE;
m_d_ShowAi = FALSE;
m_d_ShowAr = FALSE;
m_d_PtsFlag = FALSE;
m_d_MeshFlag = FALSE;
m_d_SnapFlag = FALSE;
m_d_Smooth = FALSE;
m_d_LineIntegralPoints = 0;
m_d_PlotPoints = 0;
m_d_ShowMask = FALSE;
m_d_luaconsole = FALSE;
m_d_shownames = FALSE;
//}}AFX_DATA_INIT
}
void CPref::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPref)
DDX_Control(pDX, IDC_VECTORPLOT, m_d_vplotlist);
DDX_Control(pDX, IDC_DENSITYPLOT, m_d_dplotlist);
DDX_Control(pDX, IDC_EDITACTION, m_d_editlist);
DDX_Control(pDX, IDC_COLORS, m_d_color);
DDX_Check(pDX, IDC_GREY, m_d_GreyContours);
DDX_Check(pDX, IDC_LEGEND, m_d_LegendFlag);
DDX_Text(pDX, IDC_NCONT, m_d_NumContours);
DDV_MinMaxInt(pDX, m_d_NumContours, 4, 999);
DDX_Check(pDX, IDC_ONRELOAD, m_d_ResetOnReload);
DDX_Check(pDX, IDC_SHOWGRID, m_d_GridFlag);
DDX_Check(pDX, IDC_SHOWIMAGINARY, m_d_ShowAi);
DDX_Check(pDX, IDC_SHOWREAL, m_d_ShowAr);
DDX_Check(pDX, IDC_SHOWPTS, m_d_PtsFlag);
DDX_Check(pDX, IDC_SHOWMESH, m_d_MeshFlag);
DDX_Check(pDX, IDC_SNAPGRID, m_d_SnapFlag);
DDX_Check(pDX, IDC_SMOOTHING, m_d_Smooth);
DDX_Text(pDX, IDC_LIPOINTS, m_d_LineIntegralPoints);
DDV_MinMaxInt(pDX, m_d_LineIntegralPoints, 10, 100000);
DDX_Text(pDX, IDC_PLOTPOINTS, m_d_PlotPoints);
DDV_MinMaxInt(pDX, m_d_PlotPoints, 10, 100000);
DDX_Check(pDX, IDC_SHOWMASK, m_d_ShowMask);
DDX_Check(pDX, IDC_SHOWNAMES, m_d_shownames);
DDX_Check(pDX, IDC_LUACONSOLE, m_d_luaconsole);
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_NCONT, m_IDC_d_NumContours);
DDX_Control(pDX, IDC_LIPOINTS, m_IDC_d_LineIntegralPoints);
DDX_Control(pDX, IDC_PLOTPOINTS, m_IDC_d_PlotPoints);
}
BEGIN_MESSAGE_MAP(CPref, CDialog)
//{{AFX_MSG_MAP(CPref)
ON_BN_CLICKED(IDC_MODBTN, OnModBtn)
ON_BN_CLICKED(IDC_RESET, OnResetColors)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPref message handlers
void CPref::OnModBtn()
{
CColorDialog dlg;
COLORREF cclist[16];
int i,k;
UpdateData();
i=m_d_color.GetCurSel();
for(k=0;k<16;k++) cclist[k]=RGB(190,190,190);
if(i<11) for(k=0;k<11;k++) cclist[k]=clist[k];
if((i>10)&&(i<23)) for(k=11;k<23;k++) cclist[k-11]=clist[k];
if(i>22) for(k=23;k<35;k++) cclist[k-23]=clist[k];
dlg.m_cc.lpCustColors=cclist;
dlg.m_cc.rgbResult=clist[i];
dlg.m_cc.Flags=dlg.m_cc.Flags | CC_FULLOPEN | CC_RGBINIT;
if(dlg.DoModal()==IDOK){
clist[i]=dlg.GetColor();
}
}
void CPref::OnOK()
{
UpdateData();
m_d_DensityPlot=m_d_dplotlist.GetCurSel();
m_d_EditAction=m_d_editlist.GetCurSel();
m_d_VectorPlot=m_d_vplotlist.GetCurSel();
CDialog::OnOK();
}
BOOL CPref::OnInitDialog()
{
CDialog::OnInitDialog();
m_d_color.SetCurSel(0);
m_d_dplotlist.SetCurSel(m_d_DensityPlot);
m_d_editlist.SetCurSel(m_d_EditAction);
m_d_vplotlist.SetCurSel(m_d_VectorPlot);
UpdateData(FALSE);
return TRUE;
}
void CPref::OnResetColors()
{
// shamelessly crib this from other areas of the code
// to make sure that all of the colors come out right...
// Greyscale Density Plot Colormap
COLORREF Grey00,Grey01,Grey02,Grey03;
COLORREF Grey04,Grey05,Grey06,Grey07;
COLORREF Grey08,Grey09,Grey10,Grey11;
COLORREF Grey12,Grey13,Grey14,Grey15;
COLORREF Grey16,Grey17,Grey18,Grey19;
// Density Plot Colormap
COLORREF Color00,Color01,Color02,Color03;
COLORREF Color04,Color05,Color06,Color07;
COLORREF Color08,Color09,Color10,Color11;
COLORREF Color12,Color13,Color14,Color15;
COLORREF Color16,Color17,Color18,Color19;
// Other colors
COLORREF SelColor;
COLORREF MeshColor;
COLORREF BlockColor;
COLORREF LineColor;
COLORREF RegionColor;
COLORREF GridColor;
COLORREF BackColor;
COLORREF TextColor;
COLORREF NodeColor;
COLORREF RealFluxLineColor;
COLORREF ImagFluxLineColor;
COLORREF MaskLineColor;
COLORREF NameColor;
COLORREF RealVectorColor;
COLORREF ImagVectorColor;
//////////////////////////////
// Default Colors //
//////////////////////////////
// Greyscale Colormap
Grey00=RGB(55,55,55);
Grey01=RGB(65,65,65);
Grey02=RGB(75,75,75);
Grey03=RGB(85,85,85);
Grey04=RGB(95,95,95);
Grey05=RGB(105,105,105);
Grey06=RGB(115,115,115);
Grey07=RGB(125,125,125);
Grey08=RGB(135,135,135);
Grey09=RGB(145,145,145);
Grey10=RGB(155,155,155);
Grey11=RGB(165,165,165);
Grey12=RGB(175,175,175);
Grey13=RGB(185,185,185);
Grey14=RGB(195,195,195);
Grey15=RGB(205,205,205);
Grey16=RGB(215,215,215);
Grey17=RGB(225,225,225);
Grey18=RGB(235,235,235);
Grey19=RGB(245,245,245);
// BELA Colormap
Color19=RGB(0,255,255);
Color18=RGB(37,255,195);
Color17=RGB(69,255,147);
Color16=RGB(98,255,108);
Color15=RGB(123,255,76);
Color14=RGB(148,255,51);
Color13=RGB(171,255,31);
Color12=RGB(194,255,16);
Color11=RGB(217,255,6);
Color10=RGB(242,255,1);
Color09=RGB(255,242,1);
Color08=RGB(255,217,6);
Color07=RGB(255,194,16);
Color06=RGB(255,171,31);
Color05=RGB(255,148,51);
Color04=RGB(255,123,76);
Color03=RGB(255,98,108);
Color02=RGB(255,69,147);
Color01=RGB(255,37,195);
Color00=RGB(255,0,255);
// Other colors
SelColor = RGB(255,0,0);
MeshColor = RGB(213,228,20);
BlockColor = RGB(0,125,0);
LineColor = RGB(0,0,255);
RegionColor = RGB(0,255,0);
GridColor = RGB(0,0,255);
BackColor = RGB(255,255,255);
NodeColor = RGB(0,0,0);
TextColor = RGB(0,0,0);
RealFluxLineColor = RGB(0,0,0);
ImagFluxLineColor = RGB(128,128,128);
NameColor = RGB(0,0,0);
MaskLineColor = RGB(255,128,64);
RealVectorColor = RGB(0,0,0);
ImagVectorColor = RGB(128,128,128);
if(AfxMessageBox("Reset all color preferences?",MB_OKCANCEL)==IDOK)
{
int i=0;
clist[i++]=SelColor;
clist[i++]=BackColor;
clist[i++]=MeshColor;
clist[i++]=BlockColor;
clist[i++]=LineColor;
clist[i++]=GridColor;
clist[i++]=NodeColor;
clist[i++]=RegionColor;
clist[i++]=TextColor;
clist[i++]=RealFluxLineColor;
clist[i++]=ImagFluxLineColor;
clist[i++]=MaskLineColor;
clist[i++]=NameColor;
clist[i++]=RealVectorColor;
clist[i++]=ImagVectorColor;
clist[i++]=Color00;
clist[i++]=Color01;
clist[i++]=Color02;
clist[i++]=Color03;
clist[i++]=Color04;
clist[i++]=Color05;
clist[i++]=Color06;
clist[i++]=Color07;
clist[i++]=Color08;
clist[i++]=Color09;
clist[i++]=Color10;
clist[i++]=Color11;
clist[i++]=Color12;
clist[i++]=Color13;
clist[i++]=Color14;
clist[i++]=Color15;
clist[i++]=Color16;
clist[i++]=Color17;
clist[i++]=Color18;
clist[i++]=Color19;
clist[i++]=Grey00;
clist[i++]=Grey01;
clist[i++]=Grey02;
clist[i++]=Grey03;
clist[i++]=Grey04;
clist[i++]=Grey05;
clist[i++]=Grey06;
clist[i++]=Grey07;
clist[i++]=Grey08;
clist[i++]=Grey09;
clist[i++]=Grey10;
clist[i++]=Grey11;
clist[i++]=Grey12;
clist[i++]=Grey13;
clist[i++]=Grey14;
clist[i++]=Grey15;
clist[i++]=Grey16;
clist[i++]=Grey17;
clist[i++]=Grey18;
clist[i++]=Grey19;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -