473,568 Members | 2,795 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C# VS Add-In: Modifying Solution Explorer Icons and/or Text

Hello everyone,

I'm working on a VS .NET add-in that will allow developers to use
Subversion software from within the IDE (much like Source Safe).
Ideally, I would like for my plug-in to be able to modify icons that are
displayed in Solution Explorer based on the file's status.

So far I've been able to retrieve data from Solution Explorer using the
UIHierarchy and related objects. Those give me access to the contents,
but not to the actual presentation. So basically, in my add-in I can
browse through the Solution Explorer and do things like save, delete,
etc... But when it comes to actually being able to modify what is
displayed on it, I can't seem to be able to do this.

Does anyone have any clue as to how I might be able to gain access to
the visual aspects of the solution explorer, and do things like putting
overlays over the current icons? If modifying the icons is too
difficult, then perhaps there is a way I could modify the text? So for
example, if I have a file in my Solution Explorer called Connect.cs, and
my version control plug-in is running, I could just change the actual
text of the file to read something like "Connect.cs [Conflict]" if that
file is in conflict state.

Any help on this would be greatly appreciated.

- Max
Nov 17 '05 #1
1 2219
Max Khitrov <ma*@mxserve.ne t> wrote:
I'm working on a VS .NET add-in that will allow developers to use
Subversion software from within the IDE (much like Source Safe).
Ideally, I would like for my plug-in to be able to modify icons that are
displayed in Solution Explorer based on the file's status.

So far I've been able to retrieve data from Solution Explorer using the
UIHierarchy and related objects. Those give me access to the contents,
but not to the actual presentation. So basically, in my add-in I can
browse through the Solution Explorer and do things like save, delete,
etc... But when it comes to actually being able to modify what is
displayed on it, I can't seem to be able to do this.

Does anyone have any clue as to how I might be able to gain access to
the visual aspects of the solution explorer, and do things like putting
overlays over the current icons? If modifying the icons is too
difficult, then perhaps there is a way I could modify the text? So for
example, if I have a file in my Solution Explorer called Connect.cs, and
my version control plug-in is running, I could just change the actual
text of the file to read something like "Connect.cs [Conflict]" if that
file is in conflict state.

Any help on this would be greatly appreciated.


I'd suggest having a look at an existing Subversion add-in such as
ankhsvn: http://ankhsvn.tigris.org/

(You might also consider either contributing to that project or a
similar one rather than re-inventing the wheel - but that depends on
your reasons for doing it. If it's for the investigation side of things
as much as anything else, it doesn't matter at all.)

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
25373
by: dlx_son | last post by:
Here is the code so far <form name="thisform"> <h3>Enter time to add to or subtract from:</h3> (If not entered, current time will be used)<br> Day: <input name="d1" alt="Day of month" size=3> Month: <input name="m1" alt="Month" size=3> Year: <input name="y1" alt="Year" size=5> (4 digits for year, e.g.
3
1872
by: Dean Slindee | last post by:
Is there a way to replace the commented out parameter add syntax with a single line of code, like the .Parameter.Add("@Letter"...) line below (which does not work)? 'Dim prmLetter As New SqlParameter 'With prmLetter ' .ParameterName = "@Letter"
4
1375
by: Maarten | last post by:
i have the folowing code to setup my datagrid collumns Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load gridsetup() end sub
8
3920
by: Yuk Tang | last post by:
I am tearing my hair out over this, since I can't see what I'm doing wrong (duh, if I knew, I wouldn't be asking the question). I am adding Field items to a Field Collection, but for some reason it wants to start from the beginning and overwrite all entries before adding the latest member. I've added a couple of msgboxes to illustrate this,...
12
2028
by: David | last post by:
Below are three classes for a console application. If put into three separate files, the sub main() will launch multiple threads adding and removing the same value. At the end we expect the value for all Balances to be 0. When using an Integer things work fine. LONGS do not. We are using the Interlocked methods. I believe the...
2
3774
oll3i
by: oll3i | last post by:
public class Kwiaty { private List<Kwiat> lista_kwiatow = new ArrayList<Kwiat>(); RozaCzerwona roza_czerwona = new RozaCzerwona(); RozaBiala roza_biala = new RozaBiala(); RozaZolta roza_zolta = new RozaZolta(); lista_kwiatow.add(roza_czerwona); lista_kwiatow.add(roza_biala); lista_kwiatow.add(roza_zolta); }
1
2567
by: Sri Nanduri | last post by:
Hi , I am new to JS. Please help me to resolve my issue. 1.When the form loads there are two DropDown boxes and a ADD button. 2.When I click the add button it will add two DropDown boxes and a add button. I am calling a function onclick of first add button. I was able to produce two DropDown boxes, but not the button. Step 2 will be done...
0
1643
by: anureddy | last post by:
help me how to add datagridview columns to another table,using windowsapplications. and set the displaymember and value member datagridviewcomboboxcolumn. i used this below code but that not exicute. how can i write that code. pls send me code.
3
1019
by: guilherme21922 | last post by:
I created a new dropdownlist with the event selectedIndexChanged, but he never dispared!! what i am doing wrong? Thanks for (int i = 0; i < 2; i++) { DropDownList dl = new DropDownList(); ...
2
1414
by: Question123 | last post by:
<root> <Element> <add key="1" value="1"/> <add key="2" value="2"/> <add key="3" value="3"/> <add key="4" value="4"/> </Element> <Items>
0
7693
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7604
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7916
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
1
7660
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5498
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5217
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3631
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1207
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
932
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.