public PopupList(Font font, String[] names, int minWidth) { RectView back = new RectView(0, 0, 100, 100, Color.Gray, Color.Black); AddView(back); View contentView = new View(100, 100); int w = minWidth; items = new ListItem[names.Length]; for (int i = 0; i < names.Length; ++i) { ListItem item = new ListItem(font, names[i], w, font.FontHeight()); item.id = i; item.buttonDelegate = OnItemSelected; contentView.AddView(item); items[i] = item; } contentView.LayoutVer(2); contentView.ResizeToFitViewsVer(); AddView(contentView); back.width = contentView.width; back.height = contentView.height; width = contentView.width; height = contentView.height; }
public CConsole(Font font) : this(Application.GetWidth(), 0.5f * Application.GetHeight()) { this.font = font; AllowsDrawPrevious = true; AllowsUpdatePrevious = true; charWidth = font.StringWidth("W"); lineHeight = font.FontHeight(); lineSpacing = 0; backColor = new Color(0.0f, 0.0f, 0.0f, 0.75f); carretVisible = true; keyBindings = new Dictionary<KeyCode, char>(); keyBindings[KeyCode.OemMinus] = '-'; keyBindings[KeyCode.OemPlus] = '='; keyBindings[KeyCode.OemComma] = ','; keyBindings[KeyCode.OemPeriod] = '.'; keyBindings[KeyCode.OemQuestion] = '/'; keyBindings[KeyCode.OemOpenBrackets] = '['; keyBindings[KeyCode.OemCloseBrackets] = ']'; keyBindings[KeyCode.OemQuotes] = '\\'; keyBindings[KeyCode.Divide] = '/'; keyBindings[KeyCode.Multiply] = '*'; keyBindings[KeyCode.Subtract] = '-'; keyBindings[KeyCode.Add] = '+'; keyBindings[KeyCode.OemSemicolon] = ';'; keyBindings[KeyCode.OemTilde] = '\''; keyBindings[KeyCode.Decimal] = '.'; keyBindings[KeyCode.NumPad1] = '1'; keyBindings[KeyCode.NumPad2] = '2'; keyBindings[KeyCode.NumPad3] = '3'; keyBindings[KeyCode.NumPad4] = '4'; keyBindings[KeyCode.NumPad5] = '5'; keyBindings[KeyCode.NumPad6] = '6'; keyBindings[KeyCode.NumPad7] = '7'; keyBindings[KeyCode.NumPad8] = '8'; keyBindings[KeyCode.NumPad9] = '9'; keyBindings[KeyCode.NumPad0] = '0'; keyShiftBindings = new Dictionary<KeyCode, char>(); keyShiftBindings[KeyCode.OemMinus] = '_'; keyShiftBindings[KeyCode.OemPlus] = '+'; keyShiftBindings[KeyCode.OemComma] = '<'; keyShiftBindings[KeyCode.OemPeriod] = '>'; keyShiftBindings[KeyCode.OemQuestion] = '?'; keyShiftBindings[KeyCode.D1] = '!'; keyShiftBindings[KeyCode.D2] = '@'; keyShiftBindings[KeyCode.D3] = '#'; keyShiftBindings[KeyCode.D4] = '$'; keyShiftBindings[KeyCode.D5] = '%'; keyShiftBindings[KeyCode.D6] = '^'; keyShiftBindings[KeyCode.D7] = '&'; keyShiftBindings[KeyCode.D8] = '*'; keyShiftBindings[KeyCode.D9] = '('; keyShiftBindings[KeyCode.D0] = ')'; keyShiftBindings[KeyCode.OemOpenBrackets] = '{'; keyShiftBindings[KeyCode.OemCloseBrackets] = '}'; keyShiftBindings[KeyCode.OemQuotes] = '|'; keyShiftBindings[KeyCode.OemSemicolon] = ':'; keyShiftBindings[KeyCode.OemTilde] = '"'; ScheduleTimer(OnBlinkTimer, 0.25f, true); }