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

📄 textlist.h

📁 XOSL 多操作系统管理工具 源代码 多系统引导工具
💻 H
字号:
/*
 * Extended Operating System Loader (XOSL)
 * Copyright (c) 1999 by Geurt Vos
 *
 * This code is distributed under GNU General Public License (GPL)
 *
 * The full text of the license can be found in the GPL.TXT file,
 * or at http://www.gnu.org
 */

#ifndef __textlist__
#define __textlist__

#include <textscr.h>
#include <textbox.h>

class CTextList {
	public:
		typedef void (*TListItemExecute)(void *_this, int ItemIndex);

		CTextList(int Left, int Top, int Width, int Height, CTextScreen &TextScreenToUse, CTextBox &TextBoxToUse);
		~CTextList();
		void AddItem(int Index, const char *Caption,
			const char *HelpText, int Enabled);
		void AddItem(int Index, const char *Caption, const char *HelpText,
			int Enabled, int OptionCount, const char **OptionList, int IsCombo);

		
		void Refresh();
		void Clear();
		void SetItemIndex(int ItemIndex);
		int GetOptionIndex(int Index);

		void ConnectEventHandler(TListItemExecute Handler, void *_this);

		void HandleKeyAction(int Key);
	private:
		enum TTextListType { 
			tltNone, 
			tltAction,
			tltCombo,
			tltList,
		};
		class CListItem {
		public:
			TTextListType Type;
			char *Caption;
			char *HelpText;
			int Enabled;
			int OptionCount;
			char **OptionList;
			int OptionWidth;
			int OptionIndex;
		};

		int FirstDraw;
		void DrawActionItem(int Index);
		void DrawOptionItem(int Index);
		void DrawListItem(int Index);
		void GetMaxOptionWidth();

		int Left, Top;
		int Width, Height;
		int ItemIndex;
		int MaxOptionWidth;
		CListItem *ListItems;

		TListItemExecute EventHandler;
		void *Event_this;

		CTextScreen &TextScreen;
		CTextBox &TextBox;

};

#endif

⌨️ 快捷键说明

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