コード例 #1
0
 void OnSelection(AutocompleteResult value)
 {
     if (Selection != null)
     {
         Selection(this, value);
     }
 }
コード例 #2
0
ファイル: AutocompletePopup.cs プロジェクト: zcnet4/lua-tilde
		public void SetOptions(AutocompleteResult [] values)
		{
			waitingPanel.Visible = false;
			mainPanel.Visible = true;
			errorPanel.Visible = false;

			m_options.Clear();
			foreach (AutocompleteResult value in values)
			{
				string label = m_debugger.GetValueString(value.m_key);
				ListViewItem item = new ListViewItem(label);
				item.SubItems.Add(value.m_valueType.ToString().Substring(0, 2));
				item.Tag = value;
				m_options.Add(item);
			}

			FilterOptions();

			optionsListView.Focus();
		}
コード例 #3
0
ファイル: ConsoleWindow.cs プロジェクト: rambo-long/lua-tilde
        void m_autocompletePopup_Selection(object sender, AutocompleteResult value)
        {
            string str = m_debugger.GetValueString(value.m_key);

            string text;

            if (value.m_key.Type == LuaValueType.NUMBER)
            {
                text = String.Format("[{0}]", str);
            }
            else if (m_wordRegex.IsMatch(str))
            {
                text = String.Format("{0}{1}", m_autocompleteOperator, str);
            }
            else
            {
                text = String.Format("[\"{0}\"]", str);
            }

            inputBox.ReplaceSelection(text);
        }
コード例 #4
0
ファイル: Target.cs プロジェクト: rambo-long/lua-tilde
        void ProcessMessage_AutocompleteOptions()
        {
            AutocompleteResult[] options = null;

            int seqid = m_readBuffer.ReadInt32();
            int count = m_readBuffer.ReadInt32();

            if (count >= 0)
            {
                options = new AutocompleteResult[count];
                for (int index = 0; index < count; ++index)
                {
                    LuaValue     key       = m_readBuffer.ReadValue();
                    LuaValueType valueType = (LuaValueType)m_readBuffer.ReadInt32();
                    options[index] = new AutocompleteResult(key, valueType);
                }
            }
            string message = m_readBuffer.ReadString();

            OnAutocompleteOptions(seqid, options, message);
        }
コード例 #5
0
ファイル: AutocompletePopup.cs プロジェクト: zcnet4/lua-tilde
		void OnSelection(AutocompleteResult value)
		{
			if (Selection != null)
				Selection(this, value);
		}
コード例 #6
0
		public AutocompleteOptionsEventArgs(int seqid, AutocompleteResult[] options, string message)
		{
			m_sequenceID = seqid;
			m_options = options;
			m_message = message;
		}
コード例 #7
0
        private void FilterOptions()
        {
            expressionLabel.Text = m_expr + m_prefix;

            ListViewItem selection = optionsListView.SelectedItems.Count == 0 ? null : optionsListView.SelectedItems[0];

            optionsListView.BeginUpdate();
            optionsListView.SelectedItems.Clear();
            optionsListView.Items.Clear();
            optionsListView.Sorting = SortOrder.None;
            foreach (ListViewItem item in m_options)
            {
                if (item.Text.IndexOf(m_prefix, StringComparison.InvariantCultureIgnoreCase) < 0)
                {
                    continue;
                }

                AutocompleteResult info = (AutocompleteResult)item.Tag;
                if (info.m_valueType == LuaValueType.FUNCTION)
                {
                    if (!functionsFilterButton.Checked)
                    {
                        continue;
                    }
                }
                else if (info.m_valueType == LuaValueType.TABLE)
                {
                    if (!tablesFilterButton.Checked)
                    {
                        continue;
                    }
                }
                else if (!valuesFilterButton.Checked)
                {
                    continue;
                }

                optionsListView.Items.Add(item);
            }
            optionsListView.Sorting = SortOrder.Ascending;

            if (selection == null || selection.ListView != optionsListView)
            {
                selection = optionsListView.Items.Count == 0 ? null : optionsListView.Items[0];
            }

            if (selection != null)
            {
                selection.Selected = true;
                selection.Focused  = true;
                selection.EnsureVisible();
            }

            optionsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

            if (optionsListView.Items.Count > 0)
            {
                int visibleItems = Math.Min(8, optionsListView.Items.Count);
                int width        = optionsListView.Columns[0].Width;
                int height       = visibleItems * optionsListView.Items[0].GetBounds(ItemBoundsPortion.Entire).Height;
                optionsListView.ClientSize = new Size(width, height);
                optionsListView.Width      = width + 32;
            }

            optionsListView.EndUpdate();
        }
コード例 #8
0
ファイル: Target.cs プロジェクト: zcnet4/lua-tilde
		void OnAutocompleteOptions(int seqid, AutocompleteResult [] options, string message)
		{
			AutocompleteOptionsEventArgs args = new AutocompleteOptionsEventArgs(seqid, options, message);
			if (mForm != null && mForm.IsHandleCreated)
				mForm.BeginInvoke(new MethodInvoker(delegate()
				{
					if (this.AutocompleteOptions != null)
						this.AutocompleteOptions(this, args);
				}));
		}
コード例 #9
0
ファイル: Target.cs プロジェクト: zcnet4/lua-tilde
		void ProcessMessage_AutocompleteOptions()
		{
			AutocompleteResult[] options = null;

			int seqid = m_readBuffer.ReadInt32();
			int count = m_readBuffer.ReadInt32();
			if (count >= 0)
			{
				options = new AutocompleteResult[count];
				for (int index = 0; index < count; ++index)
				{
					LuaValue key = m_readBuffer.ReadValue();
					LuaValueType valueType = (LuaValueType)m_readBuffer.ReadInt32();
					options[index] = new AutocompleteResult(key, valueType);
				}
			}
			string message = m_readBuffer.ReadString();
			OnAutocompleteOptions(seqid, options, message);
		}
コード例 #10
0
ファイル: ConsoleWindow.cs プロジェクト: zcnet4/lua-tilde
		void m_autocompletePopup_Selection(object sender, AutocompleteResult value)
		{
			string str = m_debugger.GetValueString(value.m_key);

			string text;
			if (value.m_key.Type == LuaValueType.NUMBER)
				text = String.Format("[{0}]", str);
			else if (m_wordRegex.IsMatch(str))
				text = String.Format("{0}{1}", m_autocompleteOperator, str);
			else
				text = String.Format("[\"{0}\"]", str);

			inputBox.ReplaceSelection(text);
		}