| 04-29-2007, 02:01 AM | #1 |
I believe that i am supposed to use System.Reflection.Emit to get the items and parameter info for this, but how do i create the actual window and how do i get it to appear in the right place and how do i get it to go to the closest match |
| 04-29-2007, 03:32 AM | #2 |
Yes, you use System.Reflection (without Emit) to get the Members of a type. Example: typeof(whatever).GetMembers(); About creating a window and the closest match: I have no idea what you want. |
| 04-29-2007, 12:23 PM | #3 |
you know in things like visual studio when you type a word then press "." it produces a list at the "." and lists all the members of the word before. The list then steadily goes to the alphabetically closest match as you type. (known as IntelliSense) How would i create the window at the location where they presses the "." key and how would i get it to have it so that it is a scrollable list? |
| 04-29-2007, 03:23 PM | #4 |
Mapz_Maker, please don´t take this as an offense, accept it as a suggestion instead: try to be more clear when you explains things. For and example, you could´ve said: How do I implement a InteliSense-like window onto the Jass editor I´m currently developing? How do I setup and set the coordinates of the small listbox with "hints" that pops when I press the dot "." after a recognized word? My answer: I don´t know. I suck at GUI development., but you can take a look on the ICShapCode SharpDevelop: they have this feature on the editor and you can grab the code (it´s open src) and take a look. As another suggestion, you should take a look on the Domain-Specific Language Tools pack that comes with the Microsoft Visual Studio 2005 SDK and start learning about software factories. As an example of it´s implementation, take a look on SharpLudus. ![]() |
| 04-29-2007, 11:35 PM | #5 |
No offense taken. Thanks for pointing me to that source code, but it requires Visual Studio 2005 Standard edition, and i just have the express and Visual Studio 2002 Professional. The code is huge, and i could not reasonably find what i wanted since i could not run it (i would have used spy++ to find the class name, then searched for it). Anybody (including BlackDick) have some other ideas? |
| 04-30-2007, 07:59 AM | #6 |
http://www.codeproject.com/csharp/diy-intellisense.asp Searching codeproject.com is usually a good idea. |
| 04-30-2007, 10:30 PM | #7 |
Might try to remember that next time (*looks at link*) |
| 05-02-2007, 12:51 AM | #8 |
Development Environment Nearly complete... |
| 05-03-2007, 12:37 AM | #9 | |||||
Aaaarg, i cannot get this to function properly: i want to load all of the assemblies defaultly loaded by csc.exe (when you compile) so that i can provide the full functionality currently alotted users. For some unknown reason it is erasing all of the previous intellisense data when appying a new one. I found the reason for one part of the clearing; except when i do that it loses even more data. When i leave it to clear the data it properly loads the last assembly it was told to load. Here is the code that should contain the problem. I know it is a lot of code... Try and look through it; i attempted to organize it. (the data is stored on a TreeView {is hidden})
|
| 05-03-2007, 10:06 AM | #10 |
/// <summary> /// Takes an assembly filename, opens it and retrieves all types. /// </summary> /// <param name="filename">Filename to open</param> private void readAssembly(string filename) { namespaces = new Hashtable(); assembly = Assembly.LoadFrom(filename); Type[] assemblyTypes = assembly.GetTypes(); this.treeViewItems.Nodes.Clear(); .... |
| 05-05-2007, 03:12 AM | #11 | |
come on... it is not that easy. i tried that. it made it have even less data (why?) than before. That is why i am asking here... Quote:
|
| 05-06-2007, 05:57 PM | #12 |
Just from the code it's hard to tell, what is going wrong. Use the debugger to find out, where it's happening. |
