⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingsheet.h

📁 代码格式化工具。 其实就是linux下indent的windows版本。
💻 H
字号:
#pragma once
#include "blanklines.h"
#include "indentpage.h"
#include "stdpage.h"
extern "C"
{
#include "indent.h"
}

// CSettingSheet

class CSettingSheet : public CPropertySheet
{
	DECLARE_DYNAMIC(CSettingSheet)

	CBlanklines *m_BlkPage;
	CIndentPage *m_IndPage;
	CStdPage    *m_StdPage;
public:
	user_options_ty setting;
public:
	CSettingSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
	CSettingSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
	virtual ~CSettingSheet();

protected:
	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL Create(CWnd* pParentWnd = NULL, DWORD dwStyle = (DWORD)-1, DWORD dwExStyle = 0);
	virtual BOOL OnInitDialog();
/////////////////////////////////////////////////////
public:
	user_options_ty & GetSetting()
	{
		/*
		CStdPage& m_StdPage=*(CStdPage*)this->GetPage(0);
		CBlanklines& m_BlkPage=*(CBlanklines*)this->GetPage(1);
		CIndentPage& m_IndPage=*(CIndentPage*)this->GetPage(2);
		static user_options_ty setting;
		setting.verbose					= m_StdPage.get_verbose();
		setting.use_tabs				= m_StdPage.get_use_tabs();
		setting.tabsize					= m_StdPage.get_tab_size();
		setting.use_stdout				= m_StdPage.get_use_stdout();
		setting.space_sp_semicolon			 = m_StdPage.get_space_sp_semicolon();
		setting.swallow_optional_blanklines	 = m_BlkPage.get_swallow_optional_blanklines();
		setting.star_comment_cont			 = m_StdPage.get_star_comment_cont();
		setting.struct_brace_indent			 = m_IndPage.get_struct_brace_indent();
		setting.space_after_while			 = m_StdPage.get_space_after_while();
		setting.space_after_if				 = m_StdPage.get_space_after_if();
		setting.space_after_for				 = m_StdPage.get_space_after_for();
		setting.procnames_start_line		 = m_BlkPage.get_procnames_start_line();
		setting.parentheses_space			 = m_StdPage.get_parentheses_space();
		setting.preserve_mtime				 = false;
		setting.paren_indent				 = m_IndPage.get_paren_indent();
		setting.proc_calls_space			 = m_StdPage.get_proc_calls_space();
		setting.leave_preproc_space			 = m_StdPage.get_leave_preproc_space();
		setting.force_preproc_width			 = m_IndPage.get_force_preproc_width();
		setting.lineup_to_parens			 = m_BlkPage.get_lineup_to_parens();
		setting.honour_newlines				 = m_BlkPage.get_honour_newlines();
		setting.format_comments				 = m_StdPage.get_format_comments();
		setting.format_col1_comments		 = m_StdPage.get_format_col1_comments();
		setting.extra_expression_indent		 = m_IndPage.get_extra_expression_indent();
		setting.ljust_decl					 = m_IndPage.get_ljust_decl();
		setting.cast_space					 = m_StdPage.get_cast_space();
		setting.cuddle_else					 = m_BlkPage.get_cuddle_else();
		setting.cuddle_do_while				 = m_BlkPage.get_cuddle_do_while();
		setting.comment_delimiter_on_blankline = m_StdPage.get_comment_delimiter_on_blankline();
		setting.blank_after_sizeof			 = m_StdPage.get_blank_after_sizeof();
		setting.break_function_decl_args	 = m_BlkPage.get_break_function_decl_args();
		
		setting.break_function_decl_args_end = m_BlkPage.get_break_function_decl_args_end();
		setting.leave_comma					 = m_BlkPage.get_leave_comma();
		setting.break_before_boolean_operator	 = m_BlkPage.get_break_before_boolean_operator();
		setting.blanklines_before_blockcomments	 = m_BlkPage.get_blanklines_before_blockcomments();
		setting.blanklines_after_declarations	 = m_BlkPage.get_blanklines_after_declarations();
		setting.blanklines_after_procs			 = m_BlkPage.get_blanklines_after_procs();
		setting.blanklines_after_declarations_at_proctop	 = m_BlkPage.get_blanklines_after_declarations_at_proctop();
		setting.blanklines_around_conditional_compilation	 = m_BlkPage.get_blanklines_around_conditional_compilation();
		setting.comment_max_col					 = m_StdPage.get_comment_max_col();
		setting.max_col							 = m_StdPage.get_max_col();
		setting.ind_size						 = m_StdPage.get_ind_size();
		setting.indent_parameters				 = m_IndPage.get_indent_parameters();
		setting.decl_indent						 = m_IndPage.get_decl_indent();
		setting.unindent_displace				 = m_IndPage.get_unindent_displace();
		setting.else_endif_col					 = m_StdPage.get_else_endif_col();
		setting.case_indent						 = m_IndPage.get_case_indent();
		setting.continuation_indent				 = m_IndPage.get_continuation_indent();
		setting.decl_com_ind					 = m_IndPage.get_decl_com_ind();
		setting.case_brace_indent				 = m_IndPage.get_case_brace_indent();
		setting.c_plus_plus						 = m_StdPage.get_c_plus_plus();
		setting.com_ind							 = m_IndPage.get_com_ind();
		setting.braces_on_struct_decl_line		 = m_BlkPage.get_braces_on_struct_decl_line();
		setting.braces_on_func_def_line			 = m_BlkPage.get_braces_on_func_def_line();
		setting.btype_2							 = m_BlkPage.get_btype_2();
		setting.brace_indent					 = m_IndPage.get_brace_indent();

		setting.expect_output_file				 = false;
		*/
		return setting;
	}
	void SetSetting(const user_options_ty& org)
	{
		setting=org;
		/*
		CStdPage& m_StdPage=*(CStdPage*)this->GetPage(0);
		CBlanklines& m_BlkPage=*(CBlanklines*)this->GetPage(1);
		CIndentPage& m_IndPage=*(CIndentPage*)this->GetPage(2);
		m_StdPage.set_verbose(setting.verbose);
		m_StdPage.set_use_tabs(setting.use_tabs);
		m_StdPage.set_tab_size(setting.tabsize);
		m_StdPage.set_use_stdout(setting.use_stdout);
		m_StdPage.set_space_sp_semicolon(setting.space_sp_semicolon);
		m_BlkPage.set_swallow_optional_blanklines(setting.swallow_optional_blanklines);
		m_StdPage.set_star_comment_cont(setting.star_comment_cont);
		m_IndPage.set_struct_brace_indent(setting.struct_brace_indent);
		m_StdPage.set_space_after_while(setting.space_after_while);
		m_StdPage.set_space_after_if(setting.space_after_if);
		m_StdPage.set_space_after_for(setting.space_after_for);
		m_BlkPage.set_procnames_start_line(setting.procnames_start_line);
		m_StdPage.set_parentheses_space(setting.parentheses_space);
		m_IndPage.set_paren_indent(setting.paren_indent);
		m_StdPage.set_proc_calls_space(setting.proc_calls_space);
		m_StdPage.set_leave_preproc_space(setting.leave_preproc_space);
		m_IndPage.set_force_preproc_width(setting.force_preproc_width);
		m_BlkPage.set_lineup_to_parens(setting.lineup_to_parens);
		m_BlkPage.set_honour_newlines(setting.honour_newlines);
		m_StdPage.set_format_comments(setting.format_comments);
		m_StdPage.set_format_col1_comments(setting.format_col1_comments);
		m_IndPage.set_extra_expression_indent(setting.extra_expression_indent);
		m_IndPage.set_ljust_decl(setting.ljust_decl);
		m_StdPage.set_cast_space(setting.cast_space);
		m_BlkPage.set_cuddle_else(setting.cuddle_else);
		m_BlkPage.set_cuddle_do_while(setting.cuddle_do_while);
		m_StdPage.set_comment_delimiter_on_blankline(setting.comment_delimiter_on_blankline);
		m_StdPage.set_blank_after_sizeof(setting.blank_after_sizeof);
		m_BlkPage.set_break_function_decl_args(setting.break_function_decl_args);
		
		m_BlkPage.set_break_function_decl_args_end(setting.break_function_decl_args_end);
		m_BlkPage.set_leave_comma(setting.leave_comma);
		m_BlkPage.set_break_before_boolean_operator(setting.break_before_boolean_operator);
		m_BlkPage.set_blanklines_before_blockcomments(setting.blanklines_before_blockcomments);
		m_BlkPage.set_blanklines_after_declarations(setting.blanklines_after_declarations);
		m_BlkPage.set_blanklines_after_procs(setting.blanklines_after_procs);
		m_BlkPage.set_blanklines_after_declarations_at_proctop(setting.blanklines_after_declarations_at_proctop);
		m_BlkPage.set_blanklines_around_conditional_compilation(setting.blanklines_around_conditional_compilation);
		m_StdPage.set_comment_max_col(setting.comment_max_col);
		m_StdPage.set_max_col(setting.max_col);
		m_StdPage.set_ind_size(setting.ind_size);
		m_IndPage.set_indent_parameters(setting.indent_parameters);
		m_IndPage.set_decl_indent(setting.decl_indent);
		m_IndPage.set_unindent_displace(setting.unindent_displace);
		m_StdPage.set_else_endif_col(setting.else_endif_col);
		m_IndPage.set_case_indent(setting.case_indent);
		m_IndPage.set_continuation_indent(setting.continuation_indent);
		m_IndPage.set_decl_com_ind(setting.decl_com_ind);
		m_IndPage.set_case_brace_indent(setting.case_brace_indent);
		m_StdPage.set_c_plus_plus(setting.c_plus_plus);
		m_IndPage.set_com_ind(setting.com_ind);
		m_BlkPage.set_braces_on_struct_decl_line(setting.braces_on_struct_decl_line);
		m_BlkPage.set_braces_on_func_def_line(setting.braces_on_func_def_line);
		m_BlkPage.set_btype_2(setting.btype_2);
		m_IndPage.set_brace_indent(setting.brace_indent);
		*/
	
	}
};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -