From tberman@gentoo.org Tue Jan 6 22:47:48 2004 From: tberman@gentoo.org (Todd Berman) Date: Tue, 06 Jan 2004 17:47:48 -0500 Subject: [MonoDevelop] Request Message-ID: <1073429268.1691.7.camel@proton> Since all of you signed up are obviously interested in MonoDevelop, do any of you or anyone you know have the ability to provide some read only svn mirroring for MonoDevelop? --Todd From christophw@alphasierrapapa.com Wed Jan 7 07:01:23 2004 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Wed, 07 Jan 2004 08:01:23 +0100 Subject: [MonoDevelop] Request Message-ID: <6.0.1.1.2.20040107080113.03990468@pop.registeredsite.com> At 11:47 PM 1/6/2004, you wrote: >Since all of you signed up are obviously interested in MonoDevelop, do >any of you or anyone you know have the ability to provide some read only >svn mirroring for MonoDevelop? We might be able to put into our Subversion server alongside the "normal" Windows #develop. Chris Senior Project Wrangler, #develop From lnc19@hotmail.com Wed Jan 7 14:42:04 2004 From: lnc19@hotmail.com (Luciano Callero) Date: Wed, 07 Jan 2004 11:42:04 -0300 Subject: [MonoDevelop] MonoDevelop WebPage Message-ID: I Can Help with the Web Page for MonoDevelop. _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ From tberman@gentoo.org Thu Jan 8 03:15:25 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 07 Jan 2004 22:15:25 -0500 Subject: [MonoDevelop] Just a bit of a general update Message-ID: <1073531725.1273.5.camel@proton> Wanted to give a general update so that everyone understands what we are doing. We are moving the svn repo, and setting up an anonymous mirror, at that point we will give out info as to how to get to the anonymous mirror, and we will be releasing snapshot tarballs soon thereafter. We will also be putting up some web documentation in the near future with all sorts of fun info, screenshots, and glorious prizes (like tarballs of MD ;) ). Initially, using MD will require cvs versions of mono and gtk-sharp. However, we will be releasing a preview release tarball that will work upon the release of mono 0.30 and gtk-sharp 0.16. Please post any questions, or anything else here. And if you feel I have not addressed any piece of information here you think is important, please just ask :) --Todd From christophw@alphasierrapapa.com Thu Jan 8 07:04:18 2004 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Thu, 08 Jan 2004 08:04:18 +0100 Subject: [MonoDevelop] Any Gnome dependencies planned? Message-ID: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> Hi, a general question that might not only be of interest for us, the #develop team: do you plan to use GTK#/Mono in a way so Mono Develop will be runnable on Mono/Windows and .NET/Windows, or are there plans to use Gnome/other Linux-only features in Mono Develop? Chris From larsde@key2network.com Thu Jan 8 07:23:09 2004 From: larsde@key2network.com (Lars Thomas Denstad) Date: Thu, 08 Jan 2004 08:23:09 +0100 Subject: [MonoDevelop] Feature-REQ: Virtual buffers Message-ID: <1073546588.29353.40.camel@debian> Hi! I'm new to the list (as I guess we all are), and I have a feature-request/suggestion. The feature would apply to the text-editor/internal buffer handling. The suggestions is made without any knowledge of the current internal structure of #D or MonoDevelop (perhaps it's already there?). In lack of a better description, I call the feature "virtual buffers", which basically means that instead of just being able to edit buffers that map to physical files, the editor allows you to treat part of another buffer as a buffer (subbuffer), or multiple other buffers as a single buffer (a superbuffer). Typically, the structure would look like this: IBuffer / | \ / | \ / | \ / | \ PhysicalBuffer SubBuffer SuperBuffer The Window to the developer is through the IBuffer interface, which presents all kinds of buffers ~similarly. Examples of use: ================ The introduction of virtual buffers opens up for a number of possibilities when it comes to enhancing the convenience editing files. Here are some examples. Search/replace: --------------- When loading a project, provide a superbuffer containing all files in the project. This allows you to do simple project-wide search/replace without coding specifially for this kind of functionality in the IDE; search/replace-operations would go directly on the superbuffer. .hpp/.cpp-synchronization ------------------------- If you're (God forbid) working with a language like C++, imagine opening just "class" instead of "class.hpp" and "class.cpp". The IDE automatically opens the hpp and cpp files for you, and provide three buffers; "class" (superbuffer), "class.hpp", "class.cpp". Now, while editing the "class" superbuffer, pressing "M-<"/Home/"take me to the top of the document" will take you to the top of class.hpp, while pressing "M->"/"End"/"take me to the bottom of document" will take you to the bottom of class.cpp. The two files will edit as one in the superbuffer, keeping the need to repeatedly change buffers to get an overview of a class to a minimum. The view in the editor should graphically indicate the end of one physical buffer and the introduction of another in the superbuffer-view, but it should be a simple CUP/CDOWN for the caret to move over one; they should have no impact except visual. As above, a search/replace would apply to both the .hpp and .cpp-file if done in the superbuffer. This could also come in handy if editing a class that implements many interfaces; to be able to keep the interface-definitions "at the top of the file" for reference. Documentation writing --------------------- I'm currently trying to participate in the monkeyguide documentation project, and frequently find myself mixing HTML (which is the canonical documentation format) and C#. This usually starts out as C# directly in the HTML, embraced by
-blocks, but after a while my conscience urges me to try to
actually compile the code to make sure the stuff works. It starts out as
a couple of

$ cat > testcode.cs
[Paste with RMB]

..and then I keep editing in the HTML-file to add more features as I go
along. This becomes boring, stupid, and I kick myself in the teeth for
being too lazy to open testcode.cs itself in emacs and then re-inserting
the code when I'm happy with it.

Now, what I really want to do is:

// ---------------------------        <-- Indicate start of subbuffer
// My little C#-program
// ---------------------------

                                      <-- Indicate end of subbuffer
Then scoot on over to the subbuffer and edit the C#-code. The subbuffer will then enable C#-mode instead of HTML mode at my command. When I edit the subbuffer, I am _really_ editing the buffer that the subbuffer is a part of, it just doesn't get in my way. I should of course also be able to save the subbuffer as "testcode.cs", compile this code (from the shell or from the IDE), but when I'm done, both buffers are magically in sync, and I go on with my documentation without any reinsertion. It would also be nice to be able to keep a different editor "mode" on the subbuffer when looking at the superbuffer, to get correct syntax-hiliting and indenting, etc. More ---- It's not hard to think of more examples where this feature would be handy. Cheers, -- Lars Thomas Denstad Key2Network From marco.canini@fastwebnet.it Thu Jan 8 11:08:38 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Thu, 08 Jan 2004 12:08:38 +0100 Subject: [MonoDevelop] Debugger Message-ID: <1073560117.637.11.camel@debian> Hi all, i'm new to the list. I'm really interested to what your're doing and I think it's great. Just to let you know my experience I say that I did a small software for my university. This software is based on .Net and the objective was to check mono: till what point one can use it. I used a good subset of features implemented in mono and found 8 bugs (all reported except one i need to investigate). The worst thing is that I wasn't able to use linux as development platform. NAnt wasn't running with mono and overall I missed a debugger. Seriously I couldn't go away with Console.PrintLine. So my request/suggestion is that MD should keep in contact with martin to create a pluggable gui and a working debugger. Happy new year to all! -- Marco Canini From scut@nb.in-berlin.de Thu Jan 8 12:20:17 2004 From: scut@nb.in-berlin.de (Sebastian) Date: Thu, 8 Jan 2004 20:20:17 +0800 Subject: [MonoDevelop] Debugger In-Reply-To: <1073560117.637.11.camel@debian> References: <1073560117.637.11.camel@debian> Message-ID: <20040108122017.GA882@nb.in-berlin.de> Hi Mono enthusiasts :) On Thu, Jan 08, 2004 at 12:08:38PM +0100, Marco Canini wrote: > So my request/suggestion is that MD should keep in contact with martin > to create a pluggable gui and a working debugger. This is also my experience of what is Mono's most lacking feature. As a development platform you just could not get away without a usable debugger with at least some basic features (breakpointing, backtrace, data inspection, single and method-level stepping). I tried getting Martin's debugger to work there times and everytime failed. Sure the 0.5 is just intended as unstable snapshot release only and might not compile against a stable release of Mono, but a debugger is the most important piece I missed (WriteLine-debugging just isn't as convenient ;) Even a simple gdb-like interface would do it. And also important to the developers that want to _use_ Mono, it should be shipped with the main mono releases, so it is installed in a default mono installation. ciao, Sebastian -- -. scut@nb.in-berlin.de -. + http://segfault.net/~scut/ `--------------------. -' segfault.net/~scut/pgp `' 5453 AC95 1E02 FDA7 50D2 A42D 427E 6DEF 745A 8E07 `- GBU-31 blueprints available. payment >500k$. hi echelon! -----------------' From jondarrer@hotmail.com Thu Jan 8 12:43:31 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Thu, 08 Jan 2004 12:43:31 +0000 Subject: [MonoDevelop] Request for Mission Statement Message-ID: Hi all, This morning Chris asked a question about which platforms/runtimes the IDE would be targeted at - I have some basic questions too. I think a good solution would be to have some sort of mission statement. Answers to questions, such as the following, would go a long way towards focusing efforts and clearing confusion (not to mention introduction to the project...): * What is the main purpose of the project? * Who is the IDE targeted at, primarily? * What main features should it incorporate? I realise it's still pretty much early days, and the answers to these questions are likely to change as the project develops. While they are current (and the answers well thought out), these kinds of documents can be really useful. I guess my interest lies in the development of the Website, but this sort of information should prove useful to all. Todd, I'll mail you regarding the Website. Jonathan _________________________________________________________________ Use MSN Messenger to send music and pics to your friends http://www.msn.co.uk/messenger From tberman@gentoo.org Thu Jan 8 14:40:49 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 09:40:49 -0500 Subject: [MonoDevelop] Any Gnome dependencies planned? In-Reply-To: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> Message-ID: <1073572849.1275.5.camel@proton> Our goal from the outset has always been and will always be 100% windows compatability. This being said, there will be optional AddIns (like a Terminal Pad, or similar) that would only be built and used on a linux box (Unless someone knows/wants to maintain a cmd.exe binding, etc, etc). At this point, as far as we know the entire IDE should compile and run on the .net runtime, however this is completely untested as of right now, but it is absolutely a goal for the project. jluke has already done parts of the work required to get the HtmlControl to use IE on windows and Mozilla on linux. --Todd On Thu, 2004-01-08 at 02:04, Christoph Wille wrote: > Hi, > > a general question that might not only be of interest for us, the #develop > team: do you plan to use GTK#/Mono in a way so Mono Develop will be > runnable on Mono/Windows and .NET/Windows, or are there plans to use > Gnome/other Linux-only features in Mono Develop? > > Chris > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From tberman@gentoo.org Thu Jan 8 14:57:32 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 09:57:32 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: References: Message-ID: <1073573852.1275.21.camel@proton> Hey, I addressed Chris' email just a minute ago, but I feel this is worth a response as well. Comments inline. On Thu, 2004-01-08 at 07:43, Jonathan Darrer wrote: > Hi all, > > This morning Chris asked a question about which platforms/runtimes the IDE > would be targeted at - I have some basic questions too. I think a good > solution would be to have some sort of mission statement. Answers to > questions, such as the following, would go a long way towards focusing > efforts and clearing confusion (not to mention introduction to the > project...): > * What is the main purpose of the project? Basically, to provide a usable IDE for C# developers running on any .net platform using Gtk# as the toolkit (great crossplatformability (hah, is that a word?)) Secondary to this is to provide a platform for other components sorely needed (a mono debugger gui tiein, a nice gtk# aware forms designer, etc, etc). Just as a brief bit of history: Initially when miguel and I were speaking about this project, we quickly realized we had two basic ways to go. 1) Start from scratch 2) Port existing work. We quickly abandoned starting from scratch (although, I will admit, the idea did appeal to me in a sick twisted sort of way ;) ). Now, once we realized we were heading down the Porting aisle, we looked at our available options. We had a couple 'known' requirements at that point: #1) Must use Gtk# (We both felt more comfortable with it, and thats just our preference). #2) Must be in C# (duh). #3) Must be as crossplatform as possible (Why restrict our audience?). We felt that porting #D over say, extending/porting anjuta or any other existing C gtk+ linux gui, would be a far easier and more manageable task, as the core logic is quality C# no matter what toolkit you stick on top of it. After examining all of these options, we decided to try to port over just the text editor widget from SWF to Gtk# as a test to see what kinda ride we were getting into. Miguel then left for his brazilian vacation and another hacker, pedro joined me in the port. We made pretty quick progress and by the time miguel even found an internet connection down there, we were pretty heavy onto the idea of porting #D. > * Who is the IDE targeted at, primarily? Everyone who might need an IDE. > * What main features should it incorporate? That is something that needs to be addressed by the users as well as the developers over the next little bit. > > I realise it's still pretty much early days, and the answers to these > questions are likely to change as the project develops. While they are > current (and the answers well thought out), these kinds of documents can be > really useful. > > I guess my interest lies in the development of the Website, but this sort of > information should prove useful to all. Todd, I'll mail you regarding the > Website. > > Jonathan > > _________________________________________________________________ > Use MSN Messenger to send music and pics to your friends > http://www.msn.co.uk/messenger > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From RIsaacs@ConnectWise.com Thu Jan 8 15:25:01 2004 From: RIsaacs@ConnectWise.com (Robert Isaacs) Date: Thu, 8 Jan 2004 10:25:01 -0500 Subject: [MonoDevelop] Request for Mission Statement Message-ID: <710BC1419F750B4AAF1759F105A131D0E8043B@cwexch01.corp.connectwise> Some of the MonoDevelop goals seem to overlap with the goals of the #Develop team. Do you think that your projects will be merged back together when it makes sense to do so? -----Original Message----- From: Todd Berman [mailto:tberman@gentoo.org]=20 Sent: Thursday, January 08, 2004 9:58 AM To: Jonathan Darrer Cc: monodevelop-list@lists.ximian.com Subject: Re: [MonoDevelop] Request for Mission Statement Hey, I addressed Chris' email just a minute ago, but I feel this is worth a response as well. Comments inline. On Thu, 2004-01-08 at 07:43, Jonathan Darrer wrote: > Hi all, >=20 > This morning Chris asked a question about which platforms/runtimes the > IDE > would be targeted at - I have some basic questions too. I think a good > solution would be to have some sort of mission statement. Answers to=20 > questions, such as the following, would go a long way towards focusing > efforts and clearing confusion (not to mention introduction to the=20 > project...): > * What is the main purpose of the project? Basically, to provide a usable IDE for C# developers running on any .net platform using Gtk# as the toolkit (great crossplatformability (hah, is that a word?)) Secondary to this is to provide a platform for other components sorely needed (a mono debugger gui tiein, a nice gtk# aware forms designer, etc, etc). Just as a brief bit of history: Initially when miguel and I were speaking about this project, we quickly realized we had two basic ways to go. 1) Start from scratch 2) Port existing work. We quickly abandoned starting from scratch (although, I will admit, the idea did appeal to me in a sick twisted sort of way ;) ). Now, once we realized we were heading down the Porting aisle, we looked at our available options. We had a couple 'known' requirements at that point: #1) Must use Gtk# (We both felt more comfortable with it, and thats just our preference). #2) Must be in C# (duh). #3) Must be as crossplatform as possible (Why restrict our audience?). We felt that porting #D over say, extending/porting anjuta or any other existing C gtk+ linux gui, would be a far easier and more manageable task, as the core logic is quality C# no matter what toolkit you stick on top of it. After examining all of these options, we decided to try to port over just the text editor widget from SWF to Gtk# as a test to see what kinda ride we were getting into. Miguel then left for his brazilian vacation and another hacker, pedro joined me in the port. We made pretty quick progress and by the time miguel even found an internet connection down there, we were pretty heavy onto the idea of porting #D. > * Who is the IDE targeted at, primarily? Everyone who might need an IDE. > * What main features should it incorporate? That is something that needs to be addressed by the users as well as the developers over the next little bit. >=20 > I realise it's still pretty much early days, and the answers to these > questions are likely to change as the project develops. While they are > current (and the answers well thought out), these kinds of documents can be=20 > really useful. >=20 > I guess my interest lies in the development of the Website, but this=20 > sort of > information should prove useful to all. Todd, I'll mail you regarding the=20 > Website. >=20 > Jonathan >=20 > _________________________________________________________________ > Use MSN Messenger to send music and pics to your friends > http://www.msn.co.uk/messenger >=20 > _______________________________________________ > Monodevelop-list mailing list Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list _______________________________________________ Monodevelop-list mailing list Monodevelop-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monodevelop-list From tberman@gentoo.org Thu Jan 8 15:50:01 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 10:50:01 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: <710BC1419F750B4AAF1759F105A131D0E8043B@cwexch01.corp.connectwise> References: <710BC1419F750B4AAF1759F105A131D0E8043B@cwexch01.corp.connectwise> Message-ID: <1073577001.1275.46.camel@proton> Anything is possible, and it is way to early to tell :) --Todd On Thu, 2004-01-08 at 10:25, Robert Isaacs wrote: > Some of the MonoDevelop goals seem to overlap with the goals of the > #Develop team. Do you think that your projects will be merged back > together when it makes sense to do so? > > -----Original Message----- > From: Todd Berman [mailto:tberman@gentoo.org] > Sent: Thursday, January 08, 2004 9:58 AM > To: Jonathan Darrer > Cc: monodevelop-list@lists.ximian.com > Subject: Re: [MonoDevelop] Request for Mission Statement > > > Hey, > > I addressed Chris' email just a minute ago, but I feel this is > worth a response as well. > > Comments inline. > > On Thu, 2004-01-08 at 07:43, Jonathan Darrer wrote: > > Hi all, > > > > This morning Chris asked a question about which platforms/runtimes the > > > IDE > > would be targeted at - I have some basic questions too. I think a good > > > solution would be to have some sort of mission statement. Answers to > > questions, such as the following, would go a long way towards focusing > > > efforts and clearing confusion (not to mention introduction to the > > project...): > > * What is the main purpose of the project? > > Basically, to provide a usable IDE for C# developers running on any .net > platform using Gtk# as the toolkit (great crossplatformability (hah, is > that a word?)) > > Secondary to this is to provide a platform for other components sorely > needed (a mono debugger gui tiein, a nice gtk# aware forms designer, > etc, etc). > > Just as a brief bit of history: > > Initially when miguel and I were speaking about this project, we quickly > realized we had two basic ways to go. 1) Start from scratch 2) Port > existing work. We quickly abandoned starting from scratch (although, I > will admit, the idea did appeal to me in a sick twisted sort of way ;) > ). Now, once we realized we were heading down the Porting aisle, we > looked at our available options. We had a couple 'known' requirements at > that point: > > #1) Must use Gtk# (We both felt more comfortable with it, and thats just > our preference). > #2) Must be in C# (duh). > #3) Must be as crossplatform as possible (Why restrict our audience?). > > We felt that porting #D over say, extending/porting anjuta or any other > existing C gtk+ linux gui, would be a far easier and more manageable > task, as the core logic is quality C# no matter what toolkit you stick > on top of it. > > After examining all of these options, we decided to try to port over > just the text editor widget from SWF to Gtk# as a test to see what kinda > ride we were getting into. Miguel then left for his brazilian vacation > and another hacker, pedro joined me in the port. We made pretty quick > progress and by the time miguel even found an internet connection down > there, we were pretty heavy onto the idea of porting #D. > > > * Who is the IDE targeted at, primarily? > > Everyone who might need an IDE. > > > * What main features should it incorporate? > > That is something that needs to be addressed by the users as well as the > developers over the next little bit. > > > > > I realise it's still pretty much early days, and the answers to these > > questions are likely to change as the project develops. While they are > > > current (and the answers well thought out), these kinds of documents > can be > > really useful. > > > > I guess my interest lies in the development of the Website, but this > > sort of > > information should prove useful to all. Todd, I'll mail you regarding > the > > Website. > > > > Jonathan > > > > _________________________________________________________________ > > Use MSN Messenger to send music and pics to your friends > > http://www.msn.co.uk/messenger > > > > _______________________________________________ > > Monodevelop-list mailing list Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From christophw@alphasierrapapa.com Thu Jan 8 15:12:04 2004 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Thu, 08 Jan 2004 16:12:04 +0100 Subject: [MonoDevelop] Any Gnome dependencies planned? In-Reply-To: <1073572849.1275.5.camel@proton> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> Message-ID: <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> At 03:40 PM 1/8/2004, Todd Berman wrote: >jluke has already done parts of the work required to get the HtmlControl >to use IE on windows and Mozilla on linux. well, going forward with ASP.NET in mind it would be better to focus on a single underlying provider - we (#develop team) already talked about using Mozilla for that, but because we didn't add ASP.NET so far, never changed the IE dependency. Chris From tberman@gentoo.org Thu Jan 8 16:27:18 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 11:27:18 -0500 Subject: [MonoDevelop] Any Gnome dependencies planned? In-Reply-To: <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> Message-ID: <1073579238.1236.49.camel@proton> Two things you might want to watch out for, some (lots maybe, not sure of actual numbers) ASP.NET controls running on iis will not work properly on mozilla (not sure if this is intentionally or not). And our linux/mozilla bindings use gtkmozembed, and i believe something different would be needed for windows/mozilla bindings, but im no expert :) --Todd On Thu, 2004-01-08 at 10:12, Christoph Wille wrote: > At 03:40 PM 1/8/2004, Todd Berman wrote: > >jluke has already done parts of the work required to get the HtmlControl > >to use IE on windows and Mozilla on linux. > > well, going forward with ASP.NET in mind it would be better to focus on a > single underlying provider - we (#develop team) already talked about using > Mozilla for that, but because we didn't add ASP.NET so far, never changed > the IE dependency. > > Chris > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From lessjet@yahoo.com Thu Jan 8 16:58:58 2004 From: lessjet@yahoo.com (Lester Jetson) Date: Thu, 8 Jan 2004 08:58:58 -0800 (PST) Subject: [MonoDevelop] Debugger In-Reply-To: <20040108122017.GA882@nb.in-berlin.de> Message-ID: <20040108165858.76390.qmail@web20724.mail.yahoo.com> Hi Everybody, There was an entry in Miguel's blog a few days ago that addressed this issue. I found it interesting. Here it is: http://primates.ximian.com/~miguel/archive/2004/Jan-04.html Also, I found that Monologue is a good read to get a feel of where things are going in the Mono world. For those of you that aren't familiar with it: http://www.go-mono.com/monologue/ regards, ljet --- Sebastian wrote: > > Hi Mono enthusiasts :) > > > On Thu, Jan 08, 2004 at 12:08:38PM +0100, Marco > Canini wrote: > > > So my request/suggestion is that MD should keep in > contact with martin > > to create a pluggable gui and a working debugger. > > This is also my experience of what is Mono's most > lacking feature. As a > development platform you just could not get away > without a usable debugger > with at least some basic features (breakpointing, > backtrace, data > inspection, single and method-level stepping). I > tried getting Martin's > debugger to work there times and everytime failed. > Sure the 0.5 is just > intended as unstable snapshot release only and might > not compile against a > stable release of Mono, but a debugger is the most > important piece I missed > (WriteLine-debugging just isn't as convenient ;) > Even a simple gdb-like > interface would do it. And also important to the > developers that want to > _use_ Mono, it should be shipped with the main mono > releases, so it is > installed in a default mono installation. > > > ciao, > Sebastian > > -- > -. scut@nb.in-berlin.de -. + > http://segfault.net/~scut/ `--------------------. > -' segfault.net/~scut/pgp `' 5453 AC95 1E02 FDA7 > 50D2 A42D 427E 6DEF 745A 8E07 > `- GBU-31 blueprints available. payment >500k$. hi > echelon! -----------------' > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus From tberman@gentoo.org Thu Jan 8 17:01:25 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 12:01:25 -0500 Subject: [MonoDevelop] Feature-REQ: Virtual buffers In-Reply-To: <1073546588.29353.40.camel@debian> References: <1073546588.29353.40.camel@debian> Message-ID: <1073581285.1236.52.camel@proton> I have to say I like the idea, and im going to most likely use this email in the context of a TODO list. The idea is surely worth exploring. However, as it seems to imply a fairly large contextual change to certain pieces of the framework (Some parts of what you are wanting are there, others are not), its not something we will be working on right away. --Todd On Thu, 2004-01-08 at 02:23, Lars Thomas Denstad wrote: > Hi! > > I'm new to the list (as I guess we all are), and I have a > feature-request/suggestion. > > The feature would apply to the text-editor/internal buffer handling. > > The suggestions is made without any knowledge of the current internal > structure of #D or MonoDevelop (perhaps it's already there?). > > In lack of a better description, I call the feature "virtual buffers", > which basically means that instead of just being able to edit buffers > that map to physical files, the editor allows you to treat part of > another buffer as a buffer (subbuffer), or multiple other buffers as a > single buffer (a superbuffer). > > Typically, the structure would look like this: > > IBuffer > / | \ > / | \ > / | \ > / | \ > PhysicalBuffer SubBuffer SuperBuffer > > The Window to the developer is through the IBuffer interface, which > presents all kinds of buffers ~similarly. > > Examples of use: > ================ > > The introduction of virtual buffers opens up for a number of > possibilities when it comes to enhancing the convenience editing files. > Here are some examples. > > Search/replace: > --------------- > When loading a project, provide a superbuffer containing all files in > the project. This allows you to do simple project-wide search/replace > without coding specifially for this kind of functionality in the IDE; > search/replace-operations would go directly on the superbuffer. > > .hpp/.cpp-synchronization > ------------------------- > > If you're (God forbid) working with a language like C++, imagine opening > just "class" instead of "class.hpp" and "class.cpp". The IDE > automatically opens the hpp and cpp files for you, and provide three > buffers; "class" (superbuffer), "class.hpp", "class.cpp". Now, while > editing the "class" superbuffer, pressing "M-<"/Home/"take me to the top > of the document" will take you to the top of class.hpp, while pressing > "M->"/"End"/"take me to the bottom of document" will take you to the > bottom of class.cpp. The two files will edit as one in the superbuffer, > keeping the need to repeatedly change buffers to get an overview of a > class to a minimum. The view in the editor should graphically indicate > the end of one physical buffer and the introduction of another in the > superbuffer-view, but it should be a simple CUP/CDOWN for the caret to > move over one; they should have no impact except visual. As above, a > search/replace would apply to both the .hpp and .cpp-file if done in the > superbuffer. > > This could also come in handy if editing a class that implements many > interfaces; to be able to keep the interface-definitions "at the top of > the file" for reference. > > Documentation writing > --------------------- > > I'm currently trying to participate in the monkeyguide documentation > project, and frequently find myself mixing HTML (which is the canonical > documentation format) and C#. > > This usually starts out as C# directly in the HTML, embraced by
 class="code">-blocks, but after a while my conscience urges me to try to
> actually compile the code to make sure the stuff works. It starts out as
> a couple of
> 
> $ cat > testcode.cs
> [Paste with RMB]
> 
> ..and then I keep editing in the HTML-file to add more features as I go
> along. This becomes boring, stupid, and I kick myself in the teeth for
> being too lazy to open testcode.cs itself in emacs and then re-inserting
> the code when I'm happy with it.
> 
> Now, what I really want to do is:
> 
> 
> // ---------------------------        <-- Indicate start of subbuffer
> // My little C#-program
> // ---------------------------
> 
>                                       <-- Indicate end of subbuffer
> 
> > Then scoot on over to the subbuffer and edit the C#-code. The subbuffer > will then enable C#-mode instead of HTML mode at my command. > > When I edit the subbuffer, I am _really_ editing the buffer that the > subbuffer is a part of, it just doesn't get in my way. I should of > course also be able to save the subbuffer as "testcode.cs", compile this > code (from the shell or from the IDE), but when I'm done, both buffers > are magically in sync, and I go on with my documentation without any > reinsertion. > > It would also be nice to be able to keep a different editor "mode" on > the subbuffer when looking at the superbuffer, to get correct > syntax-hiliting and indenting, etc. > > More > ---- > > It's not hard to think of more examples where this feature would be > handy. > > Cheers, From miguel@ximian.com Thu Jan 8 17:33:25 2004 From: miguel@ximian.com (Miguel de Icaza) Date: Thu, 08 Jan 2004 12:33:25 -0500 Subject: [MonoDevelop] Any Gnome dependencies planned? In-Reply-To: <1073579238.1236.49.camel@proton> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> <1073579238.1236.49.camel@proton> Message-ID: <1073583205.3762.3249.camel@erandi.boston.ximian.com> Hello, > Two things you might want to watch out for, some (lots maybe, not sure > of actual numbers) ASP.NET controls running on iis will not work > properly on mozilla (not sure if this is intentionally or not). The Windows ASP.NET ones will work in Mozilla, they are actually avoiding IE specific features in their controls, or they downgrade gracefully. It might be an issue for third-party controls, but then again, that is a good excuse to get people to fix their code. Miguel From jondarrer@hotmail.com Thu Jan 8 17:34:46 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Thu, 08 Jan 2004 17:34:46 +0000 Subject: [MonoDevelop] Request for Mission Statement Message-ID: Thanks for the reply, Todd. I appreciate the brief history. :) In summary, then, the _basic_ idea is to port the User Interface of #Develop from SWF to Gtk#, and allow for Mono (read Mono/.NET/DotGNU/etc...) to be used as the runtime, thus making a cross platform, .NET IDE. Jonathan >From: Todd Berman > >Hey, > > I addressed Chris' email just a minute ago, but I feel this is worth a >response as well. > >Comments inline. > >On Thu, 2004-01-08 at 07:43, Jonathan Darrer wrote: > > Hi all, > > > > This morning Chris asked a question about which platforms/runtimes the >IDE > > would be targeted at - I have some basic questions too. I think a good > > solution would be to have some sort of mission statement. Answers to > > questions, such as the following, would go a long way towards focusing > > efforts and clearing confusion (not to mention introduction to the > > project...): > > * What is the main purpose of the project? > >Basically, to provide a usable IDE for C# developers running on any .net >platform using Gtk# as the toolkit (great crossplatformability (hah, is >that a word?)) > >Secondary to this is to provide a platform for other components sorely >needed (a mono debugger gui tiein, a nice gtk# aware forms designer, >etc, etc). > >Just as a brief bit of history: > >Initially when miguel and I were speaking about this project, we quickly >realized we had two basic ways to go. 1) Start from scratch 2) Port >existing work. We quickly abandoned starting from scratch (although, I >will admit, the idea did appeal to me in a sick twisted sort of way ;) >). Now, once we realized we were heading down the Porting aisle, we >looked at our available options. We had a couple 'known' requirements at >that point: > >#1) Must use Gtk# (We both felt more comfortable with it, and thats just >our preference). >#2) Must be in C# (duh). >#3) Must be as crossplatform as possible (Why restrict our audience?). > >We felt that porting #D over say, extending/porting anjuta or any other >existing C gtk+ linux gui, would be a far easier and more manageable >task, as the core logic is quality C# no matter what toolkit you stick >on top of it. > >After examining all of these options, we decided to try to port over >just the text editor widget from SWF to Gtk# as a test to see what kinda >ride we were getting into. Miguel then left for his brazilian vacation >and another hacker, pedro joined me in the port. We made pretty quick >progress and by the time miguel even found an internet connection down >there, we were pretty heavy onto the idea of porting #D. > > > * Who is the IDE targeted at, primarily? > >Everyone who might need an IDE. > > > * What main features should it incorporate? > >That is something that needs to be addressed by the users as well as the >developers over the next little bit. > > > > > I realise it's still pretty much early days, and the answers to these > > questions are likely to change as the project develops. While they are > > current (and the answers well thought out), these kinds of documents can >be > > really useful. > > > > I guess my interest lies in the development of the Website, but this >sort of > > information should prove useful to all. Todd, I'll mail you regarding >the > > Website. > > > > Jonathan > > > > _________________________________________________________________ > > Use MSN Messenger to send music and pics to your friends > > http://www.msn.co.uk/messenger > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > _________________________________________________________________ Use MSN Messenger to send music and pics to your friends http://www.msn.co.uk/messenger From miguel@ximian.com Thu Jan 8 17:35:18 2004 From: miguel@ximian.com (Miguel de Icaza) Date: Thu, 08 Jan 2004 12:35:18 -0500 Subject: [MonoDevelop] Debugger In-Reply-To: <1073560117.637.11.camel@debian> References: <1073560117.637.11.camel@debian> Message-ID: <1073583317.3762.3258.camel@erandi.boston.ximian.com> Hello, > So my request/suggestion is that MD should keep in contact with martin > to create a pluggable gui and a working debugger. Yes, I think we will be doing that. As someone pointed out, I commented on this on my blog already: Mono Develop pedro, tberman and jluke have made a tremendous amount of progress on their effort to port SharpDevelop from Windows.Forms to Gtk#. They got intellisense working, the shell and are now porting the various smaller dialog boxes, which is a great sign of the progress, in only three weeks. Martin has been improving the reliability of the debugger. The debugger is made up of a core API and various "interfaces" to it. The only one working today (the others have bit-rot) is a bizarre command line language. Before I went on vacation, I was debating what to do about the UI for the Mono Debugger, I thought we should write a new debugger by pulling as many nice widgets from the gIDE/Anjuta efforts and redo the debugger, but now with MonoDevelop being available it only makes sense to integrate the debugger directly into the IDE instead of creating a new UI just for the debugger, and we get to reuse syntax coloring, intellisense and the other SharpDevelop shell features. Once MonoDevelop matures a bit more, it will make sense to also do port the code coverage GUI to it, implement a GUI for the profiler and move Gtk-NUnit# to it. From miguel@ximian.com Thu Jan 8 17:42:31 2004 From: miguel@ximian.com (Miguel de Icaza) Date: Thu, 08 Jan 2004 12:42:31 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: References: Message-ID: <1073583751.3762.3288.camel@erandi.boston.ximian.com> Hello, I will chip-in with my ideas: > * What is the main purpose of the project? > * Who is the IDE targeted at, primarily? > * What main features should it incorporate? Today Linux is lacking good development tools. There are some good efforts, but we wanted something that would work fine with C#. There were various efforts to create a Gtk# based development environment (Scaffold, Sugar, torkar's, csharp-develop) and a couple of others. We knew that SharpDevelop was the best thing out there for C# and we initially wanted to get the intellisense widget ported, then we would deffer to others the creation of the IDE. But soon the hackers realized that it was relatively easy to port the whole thing, and the process started. So I think that the purpose is: * To create a best of breed development environment for Unix systems for C# and Mono. * Since its written in Gtk#, and we like Gtk# and we get good support from Gtk#, most likely it will add functionality to improve the Gtk# experience. * To drift as little as possible from the main SharpDevelop: we want ideally to merge the code back (through ifdefs, conditional compilation, interfaces, whatever) to maximize the contributions and maximize the development speed. So a big focus has been to keep in mind that we want to merge with the main effort eventually. * Today the IDE is a simple IDE and on Unix does not do GUI design (that is limited to SharpDevelop), but we want to add a GUI designer, and I know Ximian wants to have someone doing this. Before MonoDevelop, we were thinking `standalone', but now it makes sense to integrate. * We want to integrate the tools we have been building so far, so things like MonoDoc, NUnit-Gtk and the debugger should target MonoDevelop. In my personal opinion, the MonoDevelop/Gtk# components do not necessarily need to be portable to Windows, and we should use and exploit as much as the Linux, Gnome, Gtk, Freedesktop have to offer and not limit ourselves. If people in the future want to run MonoDevelop/Gtk# on Windows as the standard base, am sure we can find the right spot to isolate the Unix-isms from the Windows-isms (hey, its been moved from one side to the other, and it was not hard, so it is not likely to be hard the other way either). Miguel. From marco.canini@fastwebnet.it Thu Jan 8 18:07:57 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Thu, 08 Jan 2004 19:07:57 +0100 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: <1073583751.3762.3288.camel@erandi.boston.ximian.com> References: <1073583751.3762.3288.camel@erandi.boston.ximian.com> Message-ID: <1073585277.705.8.camel@debian> Hello Miguel, On Thu, 2004-01-08 at 18:42, Miguel de Icaza wrote: [..] > * We want to integrate the tools we have been building so far, > so things like MonoDoc, NUnit-Gtk and the debugger should > target MonoDevelop. > IMO it's really good to integrate all those softwares in MD, but i think you should consider the process as a component integration: in the end .net is just about components. I'm not looking at bonobo, here bonobo is useless, the object model is .net I'm speaking about treating monodoc, mono-debugger, nunit-gtk, perhaps sql# as components that can be plugged inside MD or can be run alone. To see an example consider msdn browser, it runs inside vs or as a standalone application (I guess it's the same code maybe it's not). Ultimately I see that the experience from bonobo can helps a lot. -- Marco Canini From miguel@ximian.com Thu Jan 8 18:13:44 2004 From: miguel@ximian.com (Miguel de Icaza) Date: Thu, 08 Jan 2004 13:13:44 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: <1073585277.705.8.camel@debian> References: <1073583751.3762.3288.camel@erandi.boston.ximian.com> <1073585277.705.8.camel@debian> Message-ID: <1073585623.3762.3301.camel@erandi.boston.ximian.com> Hello, > IMO it's really good to integrate all those softwares in MD, but i think > you should consider the process as a component integration: in the end > .net is just about components. > I'm not looking at bonobo, here bonobo is useless, the object model is > .net > I'm speaking about treating monodoc, mono-debugger, nunit-gtk, perhaps > sql# as components that can be plugged inside MD or can be run alone. > To see an example consider msdn browser, it runs inside vs or as a > standalone application (I guess it's the same code maybe it's not). > Ultimately I see that the experience from bonobo can helps a lot. Absolutely. monodoc and nunit-gtk have their own UIs today, and we will have to find a way of hosting them in MonoDevelop. But the debugger does not, and I am having trouble doing a UI only for it. So this is the perfect match. Notice that the debugger will still be available as a class library and as a command line tool, so others can still develop different interfaces (graphical or not). Miguel. From tberman@gentoo.org Thu Jan 8 19:49:41 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 14:49:41 -0500 Subject: [MonoDevelop] Just a small update Message-ID: <1073591381.1236.63.camel@proton> To give a brief update, and a potential request for help. We are examining how to best setup anonymous svn repositories. The best and easiest way seems to involve cronjobing a svn hotcopy / rsync to the anon mirror. This could potentially have the side effect of making the anon svn repo very 'strange' at certain times. If anyone with any svn experience has a better suggestion, please do so now, so we can get off on the right foot. (note, by suggestion, i mean working solution hopefully with code to back it up, ive been talking to the svn guys for a while trying to find a solution that fits our needs and isnt insane :) ) --Todd From jluke@users.sourceforge.net Thu Jan 8 21:15:20 2004 From: jluke@users.sourceforge.net (John Luke) Date: Thu, 08 Jan 2004 16:15:20 -0500 Subject: [MonoDevelop] Any Gnome dependencies planned? In-Reply-To: <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> Message-ID: <1073596520.8330.10.camel@shark.jluke.com> On Thu, 2004-01-08 at 16:12 +0100, Christoph Wille wrote: > At 03:40 PM 1/8/2004, Todd Berman wrote: > >jluke has already done parts of the work required to get the HtmlControl > >to use IE on windows and Mozilla on linux. > > well, going forward with ASP.NET in mind it would be better to focus on a > single underlying provider - we (#develop team) already talked about using > Mozilla for that, but because we didn't add ASP.NET so far, never changed > the IE dependency. > Well, anything that implements the interface will work. I dont actually want to write an IE or Windows mozilla version myself, so I am hoping someone else will. So whoever writes the windows side will get to choose. The main problem will be getting IE or mozilla into a GTK widget on windows. From tberman@gentoo.org Thu Jan 8 21:34:06 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 16:34:06 -0500 Subject: [MonoDevelop] Just a small update In-Reply-To: <1073591381.1236.63.camel@proton> References: <1073591381.1236.63.camel@proton> Message-ID: <1073597646.1236.72.camel@proton> updating my update. the mirroring issue has been resolved, soon hopefully we will have full repo info to give out to everyone :) --Todd From tberman@gentoo.org Fri Jan 9 00:51:10 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 08 Jan 2004 19:51:10 -0500 Subject: [MonoDevelop] New Mailing list Message-ID: <1073609470.1252.4.camel@proton> We have now created a new mailing list. monodevelop-bugs. It is for tracking new bugs and changes to old bugs. Please sign up for it if you are interested in tracking and squashing bugs at http://lists.ximian.com --Todd From jas_lists@gmx.net Fri Jan 9 19:12:29 2004 From: jas_lists@gmx.net (jasper) Date: Fri, 09 Jan 2004 20:12:29 +0100 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: <1073583751.3762.3288.camel@erandi.boston.ximian.com> References: <1073583751.3762.3288.camel@erandi.boston.ximian.com> Message-ID: <3FFEFD1D.7070503@gmx.net> Miguel de Icaza wrote: > * Today the IDE is a simple IDE and on Unix does not do GUI > design (that is limited to SharpDevelop), but we want to add > a GUI designer, and I know Ximian wants to have someone doing > this. > > Before MonoDevelop, we were thinking `standalone', but now > it makes sense to integrate. > > Are you considering porting Glade to c# or will it be more like the forms designer in SharpDevelop and Visual studio.net? Jasper From mike@icsharpcode.net Sat Jan 10 13:41:09 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Sat, 10 Jan 2004 14:41:09 +0100 Subject: [MonoDevelop] Which #D Version In-Reply-To: <1073596520.8330.10.camel@shark.jluke.com> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> <1073596520.8330.10.camel@shark.jluke.com> Message-ID: <400000F5.5020004@icsharpcode.net> Hi Which #D are you using for monodevleop ? I only ask because we did *MUCH* refactoring work after the 'swt port' therefore the swt port is really outdated. (Especially the text editor) Regards Mike From pedroabelleira@yahoo.es Sat Jan 10 15:19:32 2004 From: pedroabelleira@yahoo.es (Pedro Abelleira Seco) Date: Sat, 10 Jan 2004 16:19:32 +0100 Subject: [MonoDevelop] Which #D Version In-Reply-To: <400000F5.5020004@icsharpcode.net> References: <6.0.1.1.2.20040108080209.03c51560@pop.registeredsite.com> <1073572849.1275.5.camel@proton> <6.0.1.1.2.20040108161016.03b66678@pop.registeredsite.com> <1073596520.8330.10.camel@shark.jluke.com> <400000F5.5020004@icsharpcode.net> Message-ID: <1073747972.2848.2.camel@asterix> Hi, Mike We used the last released version, 0.98. I saw the changes in the text editor, as our first task was to port it. We have noticed some bugs that the 0.98 text editor that we inherite in the Gtk# version. I suppose that you have improved it since 0.98 so I think it would be better to have access to the current #D sources to try to port your fixes to our version and avoid figuring out and implementing them and increase the differences even more. Regards Pedro El sáb, 10-01-2004 a las 14:41, Mike Krueger escribió: > Hi > > Which #D are you using for monodevleop ? I only ask because we did > *MUCH* refactoring work after the 'swt port' therefore the swt port > is really outdated. (Especially the text editor) > > Regards > Mike > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From jondarrer@hotmail.com Sat Jan 10 17:09:42 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Sat, 10 Jan 2004 17:09:42 +0000 Subject: [MonoDevelop] #Develop UI porting Message-ID: Hi Mike, You spent a great deal of time and energy looking at porting the UI of #Develop from S.W.F to #WT last year. I'm not currently hacking, but I've got a few questions for you: * How clearly defined is the separation of the UI from the rest of the design? * Are there any plans to make a "pluggable UI design" in #Develop? * Do you have any comments/suggestions which you can give to the guys here doing the Gtk# port? Is there anything they should pay attention to? Jonathan >From: Mike Krueger >To: monodevelop-list@lists.ximian.com >Subject: [MonoDevelop] Which #D Version >Date: Sat, 10 Jan 2004 14:41:09 +0100 > >Hi > >Which #D are you using for monodevleop ? I only ask because we did *MUCH* >refactoring work after the 'swt port' therefore the swt port >is really outdated. (Especially the text editor) > >Regards >Mike > >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list _________________________________________________________________ It's fast, it's easy and it's free. Get MSN Messenger today! http://www.msn.co.uk/messenger From jondarrer@hotmail.com Sat Jan 10 17:58:28 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Sat, 10 Jan 2004 17:58:28 +0000 Subject: [MonoDevelop] Request for Mission Statement Message-ID: >From: jasper >Date: Fri, 09 Jan 2004 20:12:29 +0100 > >Miguel de Icaza wrote: > >> * Today the IDE is a simple IDE and on Unix does not do GUI design >>(that is limited to SharpDevelop), but we want to add >> a GUI designer, and I know Ximian wants to have someone doing >> this. >> >> Before MonoDevelop, we were thinking `standalone', but now >> it makes sense to integrate. >> >> >Are you considering porting Glade to c# or will it be more like the forms >designer in SharpDevelop and Visual studio.net? > > >Jasper Along side this question is: Will the IDE support S.W.F design? Todd, you were suggesting that MonoDevelop would be targeted at "Everyone who might need an IDE." With respect to GUI design, is that simply within a Gtk# context? Are Windows designers potential end-users? Jonathan >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list _________________________________________________________________ Find high-speed ‘net deals — comparison-shop your local providers here. https://broadband.msn.com From will@digitalelite.com Sat Jan 10 18:10:47 2004 From: will@digitalelite.com (William Wise) Date: Sat, 10 Jan 2004 13:10:47 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: References: Message-ID: <1073758247.4015.4.camel@localhost.localdomain> I'd agree with this. It's important to have users on all platforms be able to develop using the same tool. I would think it should run on .NET as well as Mono, and ultimately support GTK#, WinForms, and SWT# development if the latter pans out. Authors who write books about .NET could do this with a Mono focus and bundle everything including the IDE with the package. They can then take their skills to Linux whenever they desire. Will On Sat, 2004-01-10 at 12:58, Jonathan Darrer wrote: > >From: jasper > >Date: Fri, 09 Jan 2004 20:12:29 +0100 > > > >Miguel de Icaza wrote: > > > >> * Today the IDE is a simple IDE and on Unix does not do GUI design > >>(that is limited to SharpDevelop), but we want to add > >> a GUI designer, and I know Ximian wants to have someone doing > >> this. > >> > >> Before MonoDevelop, we were thinking `standalone', but now > >> it makes sense to integrate. > >> > >> > >Are you considering porting Glade to c# or will it be more like the forms > >designer in SharpDevelop and Visual studio.net? > > > > > >Jasper > > Along side this question is: Will the IDE support S.W.F design? Todd, you > were suggesting that MonoDevelop would be targeted at "Everyone who might > need an IDE." With respect to GUI design, is that simply within a Gtk# > context? Are Windows designers potential end-users? > > Jonathan > > >_______________________________________________ > >Monodevelop-list mailing list > >Monodevelop-list@lists.ximian.com > >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > _________________________________________________________________ > Find high-speed net deals comparison-shop your local providers here. > https://broadband.msn.com > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From jondarrer@hotmail.com Sat Jan 10 18:43:54 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Sat, 10 Jan 2004 18:43:54 +0000 Subject: [MonoDevelop] Request for Mission Statement Message-ID: >From: William Wise >Date: Sat, 10 Jan 2004 13:10:47 -0500 > >I'd agree with this. It's important to have users on all platforms be >able to develop using the same tool. I would think it should run on >.NET as well as Mono, and ultimately support GTK#, WinForms, and SWT# >development if the latter pans out. > >Authors who write books about .NET could do this with a Mono focus and >bundle everything including the IDE with the package. They can then >take their skills to Linux whenever they desire. > >Will Will, I wasn't suggesting that MonoDevelop support S.W.F design. I'm not hacking - and I don't have any _immediate_ plans to. I was looking for a clear definition of the target end-user. I'm interested in MonoDevelop as an end-user, and from the MonoDevelop website which I'm looking to help develop. Jonathan > >On Sat, 2004-01-10 at 12:58, Jonathan Darrer wrote: > > >From: jasper > > >Date: Fri, 09 Jan 2004 20:12:29 +0100 > > > > > >Miguel de Icaza wrote: > > > > > >> * Today the IDE is a simple IDE and on Unix does not do GUI design > > >>(that is limited to SharpDevelop), but we want to add > > >> a GUI designer, and I know Ximian wants to have someone doing > > >> this. > > >> > > >> Before MonoDevelop, we were thinking `standalone', but now > > >> it makes sense to integrate. > > >> > > >> > > >Are you considering porting Glade to c# or will it be more like the >forms > > >designer in SharpDevelop and Visual studio.net? > > > > > > > > >Jasper > > > > Along side this question is: Will the IDE support S.W.F design? Todd, >you > > were suggesting that MonoDevelop would be targeted at "Everyone who >might > > need an IDE." With respect to GUI design, is that simply within a Gtk# > > context? Are Windows designers potential end-users? > > > > Jonathan > > > > >_______________________________________________ > > >Monodevelop-list mailing list > > >Monodevelop-list@lists.ximian.com > > >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > _________________________________________________________________ > > Find high-speed net deals comparison-shop your local providers here. > > https://broadband.msn.com > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list _________________________________________________________________ It's fast, it's easy and it's free. Get MSN Messenger today! http://www.msn.co.uk/messenger From tberman@gentoo.org Sat Jan 10 18:46:23 2004 From: tberman@gentoo.org (Todd Berman) Date: Sat, 10 Jan 2004 13:46:23 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: References: Message-ID: <1073760383.1285.2.camel@proton> Well, as far as the forms designer, not a whole lot has been decided. Its still too early to be looking into it fully. Part of the issue via the Forms Design will be that although we attempted to change the API as little as humanly possible, there are some things you kinda have to change (SWF.Control to Gtk.Widget, things like that). However, it is absolutely something we are going to look into when we get a bit further along. --Todd On Sat, 2004-01-10 at 13:43, Jonathan Darrer wrote: > > >From: William Wise > >Date: Sat, 10 Jan 2004 13:10:47 -0500 > > > >I'd agree with this. It's important to have users on all platforms be > >able to develop using the same tool. I would think it should run on > >.NET as well as Mono, and ultimately support GTK#, WinForms, and SWT# > >development if the latter pans out. > > > >Authors who write books about .NET could do this with a Mono focus and > >bundle everything including the IDE with the package. They can then > >take their skills to Linux whenever they desire. > > > >Will > > Will, > > I wasn't suggesting that MonoDevelop support S.W.F design. I'm not hacking - > and I don't have any _immediate_ plans to. I was looking for a clear > definition of the target end-user. I'm interested in MonoDevelop as an > end-user, and from the MonoDevelop website which I'm looking to help > develop. > > Jonathan > > > > >On Sat, 2004-01-10 at 12:58, Jonathan Darrer wrote: > > > >From: jasper > > > >Date: Fri, 09 Jan 2004 20:12:29 +0100 > > > > > > > >Miguel de Icaza wrote: > > > > > > > >> * Today the IDE is a simple IDE and on Unix does not do GUI design > > > >>(that is limited to SharpDevelop), but we want to add > > > >> a GUI designer, and I know Ximian wants to have someone doing > > > >> this. > > > >> > > > >> Before MonoDevelop, we were thinking `standalone', but now > > > >> it makes sense to integrate. > > > >> > > > >> > > > >Are you considering porting Glade to c# or will it be more like the > >forms > > > >designer in SharpDevelop and Visual studio.net? > > > > > > > > > > > >Jasper > > > > > > Along side this question is: Will the IDE support S.W.F design? Todd, > >you > > > were suggesting that MonoDevelop would be targeted at "Everyone who > >might > > > need an IDE." With respect to GUI design, is that simply within a Gtk# > > > context? Are Windows designers potential end-users? > > > > > > Jonathan > > > > > > >_______________________________________________ > > > >Monodevelop-list mailing list > > > >Monodevelop-list@lists.ximian.com > > > >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > > > _________________________________________________________________ > > > Find high-speed net deals comparison-shop your local providers here. > > > https://broadband.msn.com > > > > > > _______________________________________________ > > > Monodevelop-list mailing list > > > Monodevelop-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > >_______________________________________________ > >Monodevelop-list mailing list > >Monodevelop-list@lists.ximian.com > >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > _________________________________________________________________ > It's fast, it's easy and it's free. Get MSN Messenger today! > http://www.msn.co.uk/messenger > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From jluke@users.sourceforge.net Sat Jan 10 19:07:08 2004 From: jluke@users.sourceforge.net (John Luke) Date: Sat, 10 Jan 2004 14:07:08 -0500 Subject: [MonoDevelop] Request for Mission Statement In-Reply-To: References: Message-ID: <1073761628.5267.3.camel@shark.jluke.com> > > Along side this question is: Will the IDE support S.W.F design? Todd, you > were suggesting that MonoDevelop would be targeted at "Everyone who might > need an IDE." With respect to GUI design, is that simply within a Gtk# > context? Are Windows designers potential end-users? > Speaking for myself, I think a Gtk# designer will have a much higher priority. However, that won't stop someone from adding some SWF support as AddIns. From mike@icsharpcode.net Sat Jan 10 19:22:38 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Sat, 10 Jan 2004 20:22:38 +0100 Subject: [MonoDevelop] Re: #Develop UI porting In-Reply-To: References: Message-ID: <400050FE.1040801@icsharpcode.net> Hi > > You spent a great deal of time and energy looking at porting the UI of > #Develop from S.W.F to #WT last year. I'm not currently hacking, but > I've got a few questions for you: > > * How clearly defined is the separation of the UI from the rest of the > design? I hope that the separation is good but unfortunately there are some 'dialog' boxes which are used in some cases in non-gui code ... but at least I tried to separate the GUI from the rest. This is why I hope that much code hasn't to do with the GUI ... but I bet that during the port the non GUI codebase could be extended. > * Are there any plans to make a "pluggable UI design" in #Develop? There was but currently there isn't many done in this area. This would only be possible if we write a layer between the gui framework and the #D code ... we tried it with the #WT project but the workload got too heavy. I would say that it might be better to focus on one platform and maybe exchange code with the other platform of #D. > * Do you have any comments/suggestions which you can give to the guys > here doing the Gtk# port? Is there anything they should pay attention to? I whish them much luck maybe I could switch back to linux when the GTK# port is stable :) (I would love to) ... if they want change something they should do this or give me inputs maybe we can work something out. They should port a 'small #D' first ... the structure is highly component oriented. After the initial port of the small #D the rest should go easy. Regards Mike From jondarrer@hotmail.com Sun Jan 11 12:44:02 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Sun, 11 Jan 2004 12:44:02 +0000 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings Message-ID: Hi, Is there a convention for mapping S.W.F controls/components to Gtk# widgets? Todd, your doing plenty of this right now. There was an effort to implement S.W.F in Gtk#. Hackers working on MonoDevelop (presently and in the future) might find this sort of thing helpful. However, I think one good way to ease the learning curve for GUI .NET developers new to Mono/Linux would be to provide guidelines from experienced hackers who have been there. Have I missed something (more than possible)? Does such a document already exist? Is there an unwritten convention in use? Jonathan _________________________________________________________________ Express yourself with cool new emoticons http://www.msn.co.uk/specials/myemo From tberman@gentoo.org Sun Jan 11 19:49:44 2004 From: tberman@gentoo.org (Todd Berman) Date: Sun, 11 Jan 2004 14:49:44 -0500 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: References: Message-ID: <1073850584.1242.5.camel@proton> Heh, Honestly, You have two choices, wrap or convert. We have been doing some of both in MonoDevelop. Personally I prefer converting, but one of our developers prefers wrapping. Its basically personal preference. Certain simple SWF controls map near exact to Gtk# controls, like Buttons, etc, but most other things are very different. However, a lot of concepts stay the same, and it is pretty easy to hack it together. If people are interested, I would be willing to take a small SWF example and hack it to Gtk# with some annotations, etc. But only if someone thinks there would be a use. --Todd PS - I'm a bit out of it, just woke up ;) On Sun, 2004-01-11 at 07:44, Jonathan Darrer wrote: > Hi, > > Is there a convention for mapping S.W.F controls/components to Gtk# widgets? > > Todd, your doing plenty of this right now. There was an effort to implement > S.W.F in Gtk#. > > Hackers working on MonoDevelop (presently and in the future) might find this > sort of thing helpful. However, I think one good way to ease the learning > curve for GUI .NET developers new to Mono/Linux would be to provide > guidelines from experienced hackers who have been there. > > Have I missed something (more than possible)? Does such a document already > exist? Is there an unwritten convention in use? > > Jonathan > > _________________________________________________________________ > Express yourself with cool new emoticons http://www.msn.co.uk/specials/myemo > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From secretsquirrel@optusnet.com.au Mon Jan 12 09:19:58 2004 From: secretsquirrel@optusnet.com.au (John BouAntoun) Date: Mon, 12 Jan 2004 20:19:58 +1100 Subject: [MonoDevelop] Another TextEditor option panel Message-ID: <1073899198.4405.2.camel@nkotb> --=-X5cXT8nINEUsy+gKa9ky Content-Type: text/plain Content-Transfer-Encoding: 7bit Hey guys, I have yet another option panel to add to the project. Someone please review and commit this one. The file goes in src/Addings/DisplayBindings/TextEditor/Gui/OptionPanels only took 35 minutes this time. Regards, JBA --=-X5cXT8nINEUsy+gKa9ky Content-Disposition: attachment; filename=MarkersTextEditorPanel.cs Content-Type: text/plain; name=MarkersTextEditorPanel.cs; charset=UTF-8 Content-Transfer-Encoding: 8bit // // // // // // using System; using System.IO; using System.Drawing; using ICSharpCode.TextEditor.Document; using ICSharpCode.SharpDevelop.Internal.ExternalTool; using ICSharpCode.Core.Properties; using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.SharpDevelop.Gui.Dialogs; using Gtk; namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.OptionPanels { /// /// Summary description for Form9. /// public class MarkersTextEditorPanel : AbstractOptionPanel { // Gtk Controls CheckButton showLineNumberCheckBox; CheckButton showInvalidLinesCheckBox; CheckButton showBracketHighlighterCheckBox; CheckButton showErrorsCheckBox; CheckButton showHRulerCheckBox; CheckButton showEOLMarkersCheckBox; CheckButton showVRulerCheckBox; CheckButton showTabCharsCheckBox; CheckButton showSpaceCharsCheckBox; Entry vRulerRowTextBox; OptionMenu lineMarkerStyleComboBox; Menu lineMarkerStyleComboBoxMenu; // Services FileUtilityService FileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService)); StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); ResourceService ResourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService)); public override void LoadPanelContents() { // set up the form controls instance SetupPanelInstance(); showLineNumberCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowLineNumbers", true); showInvalidLinesCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowInvalidLines", true); showBracketHighlighterCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowBracketHighlight", true); showErrorsCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowErrors", true); showHRulerCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowHRuler", false); showEOLMarkersCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowEOLMarkers", false); showVRulerCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowVRuler", false); showTabCharsCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowTabs", false); showSpaceCharsCheckBox.Active = ((IProperties)CustomizationObject).GetProperty("ShowSpaces", false); vRulerRowTextBox.Text = ((IProperties)CustomizationObject).GetProperty("VRulerRow", 80).ToString(); lineMarkerStyleComboBoxMenu.Append(MenuItem.NewWithLabel(ResourceService.GetString("Dialog.Options.IDEOptions.TextEditor.Markers.LineViewerStyle.None"))); lineMarkerStyleComboBoxMenu.Append(MenuItem.NewWithLabel(ResourceService.GetString("Dialog.Options.IDEOptions.TextEditor.Markers.LineViewerStyle.FullRow"))); lineMarkerStyleComboBox.SetHistory((uint)(LineViewerStyle)((IProperties)CustomizationObject).GetProperty("LineViewerStyle", LineViewerStyle.None)); } public override bool StorePanelContents() { ((IProperties)CustomizationObject).SetProperty("ShowInvalidLines", showInvalidLinesCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowLineNumbers", showLineNumberCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowBracketHighlight", showBracketHighlighterCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowErrors", showErrorsCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowHRuler", showHRulerCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowEOLMarkers", showEOLMarkersCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowVRuler", showVRulerCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowTabs", showTabCharsCheckBox.Active); ((IProperties)CustomizationObject).SetProperty("ShowSpaces", showSpaceCharsCheckBox.Active); try { ((IProperties)CustomizationObject).SetProperty("VRulerRow", Int32.Parse(vRulerRowTextBox.Text)); } catch (Exception) { } ((IProperties)CustomizationObject).SetProperty("LineViewerStyle", (LineViewerStyle)lineMarkerStyleComboBox.History); return true; } #region jba added methods private void SetupPanelInstance() { Gtk.Frame frame1 = new Gtk.Frame(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.MarkersGroupBox}")); // // set up the Tab // // instantiate all the controls Gtk.VBox vBox1 = new Gtk.VBox(false,2); Gtk.Label label1 = new Gtk.Label(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.AtRowLabel}")); Gtk.Label label2 = new Gtk.Label(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.LineMarkerLabel}")); showLineNumberCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.LineNumberCheckBox}")); showInvalidLinesCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.InvalidLinesCheckBox}")); showBracketHighlighterCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.HiglightBracketCheckBox}")); showErrorsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.UnderLineErrorsCheckBox}")); showHRulerCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.HorizontalRulerCheckBox}")); showEOLMarkersCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox}")); showVRulerCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.VerticalRulerCheckBox}")); showTabCharsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.TabsCheckBox}")); showSpaceCharsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox}")); vRulerRowTextBox = new Entry(); lineMarkerStyleComboBox = new OptionMenu(); lineMarkerStyleComboBoxMenu = new Menu(); lineMarkerStyleComboBox.Menu = lineMarkerStyleComboBoxMenu; // table to pack the tab settings options Table table1 = new Table(3, 2, false); //pack the table table1.Attach(showHRulerCheckBox, 0, 1, 0, 1); table1.Attach(showVRulerCheckBox, 0, 1, 1, 2); table1.Attach(label1, 1, 2, 1, 2); table1.Attach(vRulerRowTextBox, 2, 3, 1, 2); // pack them all vBox1.PackStart(label1, false, false, 2); vBox1.PackStart(table1, false, false, 2); vBox1.PackStart(label2, false, false, 2); vBox1.PackStart(lineMarkerStyleComboBox, false, false, 2); vBox1.PackStart(showLineNumberCheckBox, false, false, 2); vBox1.PackStart(showErrorsCheckBox, false, false, 2); vBox1.PackStart(showBracketHighlighterCheckBox, false, false, 2); vBox1.PackStart(showInvalidLinesCheckBox, false, false, 2); vBox1.PackStart(showEOLMarkersCheckBox, false, false, 2); vBox1.PackStart(showSpaceCharsCheckBox, false, false, 2); vBox1.PackStart(showTabCharsCheckBox, false, false, 2); frame1.Add(vBox1); this.Add(frame1); } #endregion } } --=-X5cXT8nINEUsy+gKa9ky-- From pedroabelleira@yahoo.es Mon Jan 12 15:06:01 2004 From: pedroabelleira@yahoo.es (=?iso-8859-1?q?Pedro=20Abelleira=20Seco?=) Date: Mon, 12 Jan 2004 16:06:01 +0100 (CET) Subject: [MonoDevelop] Another TextEditor option panel In-Reply-To: <1073899198.4405.2.camel@nkotb> Message-ID: <20040112150601.60295.qmail@web40905.mail.yahoo.com> Thanks, looks good! Commited --- John BouAntoun escribió: > Hey guys, > > I have yet another option panel to add to the > project. > > Someone please review and commit this one. > > The file goes in > > src/Addings/DisplayBindings/TextEditor/Gui/OptionPanels > > only took 35 minutes this time. > > Regards, > > JBA ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From jondarrer@hotmail.com Mon Jan 12 23:04:42 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Mon, 12 Jan 2004 23:04:42 +0000 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings Message-ID: Hi, I'm from a S.W.F background - albeit minimal. I'd appreciate an example - just to get a little familiar with the basics, as the documentation on the Mono website has not yet been written. I think it might be useful on the website too, for a few reasons. To give people an idea of how the port was done, and show them how to go about doing something similar themselves. I don't want to waste anyone's time, and it's by no means urgent, but I would appreciate it. :o) Jonathan NB. Something with a Form, MainMenu, Panel, TextBox, Buttons and some Events would be good. >From: Todd Berman >Reply-To: tberman@gentoo.org >To: Jonathan Darrer >CC: monodevelop-list@lists.ximian.com >Subject: Re: [MonoDevelop] S.W.F -> Gtk# Mappings >Date: Sun, 11 Jan 2004 14:49:44 -0500 > >Heh, > >Honestly, You have two choices, wrap or convert. > >We have been doing some of both in MonoDevelop. Personally I prefer >converting, but one of our developers prefers wrapping. > >Its basically personal preference. > >Certain simple SWF controls map near exact to Gtk# controls, like >Buttons, etc, but most other things are very different. > >However, a lot of concepts stay the same, and it is pretty easy to hack >it together. > >If people are interested, I would be willing to take a small SWF example >and hack it to Gtk# with some annotations, etc. But only if someone >thinks there would be a use. > >--Todd > >PS - I'm a bit out of it, just woke up ;) > >On Sun, 2004-01-11 at 07:44, Jonathan Darrer wrote: > > Hi, > > > > Is there a convention for mapping S.W.F controls/components to Gtk# >widgets? > > > > Todd, your doing plenty of this right now. There was an effort to >implement > > S.W.F in Gtk#. > > > > Hackers working on MonoDevelop (presently and in the future) might find >this > > sort of thing helpful. However, I think one good way to ease the >learning > > curve for GUI .NET developers new to Mono/Linux would be to provide > > guidelines from experienced hackers who have been there. > > > > Have I missed something (more than possible)? Does such a document >already > > exist? Is there an unwritten convention in use? > > > > Jonathan > > > > _________________________________________________________________ > > Express yourself with cool new emoticons >http://www.msn.co.uk/specials/myemo > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list _________________________________________________________________ It's fast, it's easy and it's free. Get MSN Messenger today! http://www.msn.co.uk/messenger From jluke@users.sourceforge.net Mon Jan 12 23:20:44 2004 From: jluke@users.sourceforge.net (John Luke) Date: Mon, 12 Jan 2004 18:20:44 -0500 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: References: Message-ID: <1073949643.10845.1.camel@shark.jluke.com> On Mon, 2004-01-12 at 23:04 +0000, Jonathan Darrer wrote: > Hi, > > I'm from a S.W.F background - albeit minimal. I'd appreciate an example - > just to get a little familiar with the basics, as the documentation on the > Mono website has not yet been written. I think it might be useful on the > website too, for a few reasons. To give people an idea of how the port was > done, and show them how to go about doing something similar themselves. I > don't want to waste anyone's time, and it's by no means urgent, but I would > appreciate it. :o) > > Jonathan > > NB. Something with a Form, MainMenu, Panel, TextBox, Buttons and some Events > would be good. If you right the SWF example and post it here one of us (or one of the other people on the list) can post the Gtk# version. From jbafactor@optusnet.com.au Tue Jan 13 01:44:39 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Tue, 13 Jan 2004 12:44:39 +1100 Subject: [MonoDevelop] [Fwd: Another option panel] Message-ID: <1073958278.3449.3.camel@nkotb> --=-oq8z2LbKJaQ7UX08hope Content-Type: text/plain Content-Transfer-Encoding: 7bit 12 minutes this time. This one goes in: src/Main/Base/Gui/Dialogs/OptionPanels/IDEOptions/CodeGenerationPanel.cs somone please review and commit. JBA P.S. Is the check box string rendering fixed in gtk-sharp yet? JBA ________________________________________________________________________ plain text document attachment (CodeGenerationPanel.cs) --=-oq8z2LbKJaQ7UX08hope Content-Disposition: attachment; filename=CodeGenerationPanel.cs Content-Type: text/plain; name=CodeGenerationPanel.cs; charset=UTF-8 Content-Transfer-Encoding: 8bit // // // // // // using System; using System.IO; using System.Drawing; using System.Collections; using ICSharpCode.SharpDevelop.Internal.ExternalTool; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.Core.Properties; using ICSharpCode.SharpDevelop.Gui.Components; using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns; using Gtk; namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels { public class CodeGenerationPanel : AbstractOptionPanel { // Gtk Controls CheckButton generateAdditonalCommentsCheckBox; CheckButton generateDocCommentsCheckBox; CheckButton useFullTypeNamesCheckBox; CheckButton blankLinesBetweenMemberCheckBox; CheckButton elseOnClosingCheckBox; CheckButton startBlockOnTheSameLineCheckBox; // Services StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService (typeof (PropertyService)); static readonly string codeGenerationProperty = "SharpDevelop.UI.CodeGenerationOptions"; public override void LoadPanelContents() { // set up the form controls instance SetupPanelInstance(); IProperties p = (IProperties)PropertyService.GetProperty(codeGenerationProperty, new DefaultProperties()); generateAdditonalCommentsCheckBox.Active = p.GetProperty("GenerateAdditionalComments", true); generateDocCommentsCheckBox.Active = p.GetProperty("GenerateDocumentComments", true); useFullTypeNamesCheckBox.Active = p.GetProperty("UseFullyQualifiedNames", true); blankLinesBetweenMemberCheckBox.Active = p.GetProperty("BlankLinesBetweenMembers", true); elseOnClosingCheckBox.Active = p.GetProperty("ElseOnClosing", true); startBlockOnTheSameLineCheckBox.Active = p.GetProperty("StartBlockOnSameLine", true); } public override bool StorePanelContents() { IProperties p = (IProperties)PropertyService.GetProperty(codeGenerationProperty, new DefaultProperties()); p.SetProperty("GenerateAdditionalComments", generateAdditonalCommentsCheckBox.Active); p.SetProperty("GenerateDocumentComments", generateDocCommentsCheckBox.Active); p.SetProperty("UseFullyQualifiedNames", useFullTypeNamesCheckBox.Active); p.SetProperty("BlankLinesBetweenMembers", blankLinesBetweenMemberCheckBox.Active); p.SetProperty("ElseOnClosing", elseOnClosingCheckBox.Active); p.SetProperty("StartBlockOnSameLine", startBlockOnTheSameLineCheckBox.Active); PropertyService.SetProperty(codeGenerationProperty, p); return true; } private void SetupPanelInstance() { // instantiate all the controls in the first group Gtk.Frame frame1 = new Gtk.Frame(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.CodeGenerationOptionsGroupBox}")); Gtk.VBox vBox1 = new Gtk.VBox(false,2); useFullTypeNamesCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.UseFullTypeNamesCheckBox}")); blankLinesBetweenMemberCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.BlankLinesBetweenMembersCheckBox}")); elseOnClosingCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.ElseOnClosingCheckBox}")); startBlockOnTheSameLineCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.StartBlockOnTheSameLineCheckBox}")); // pack all controls in first group vBox1.PackStart(startBlockOnTheSameLineCheckBox, false, false, 2); vBox1.PackStart(elseOnClosingCheckBox, false, false, 2); vBox1.PackStart(blankLinesBetweenMemberCheckBox, false, false, 2); vBox1.PackStart(useFullTypeNamesCheckBox, false, false, 2); frame1.Add(vBox1); // instantiate all the controls in the second group Gtk.Frame frame2 = new Gtk.Frame(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.CommentGenerationOptionsGroupBox}")); Gtk.VBox vBox2 = new Gtk.VBox(false,2); generateAdditonalCommentsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.GenerateAdditionalCommentsCheckBox}")); generateDocCommentsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.GenerateDocCommentsCheckBox}")); // pack all controls in second group vBox2.PackStart(generateDocCommentsCheckBox, false, false, 2); vBox2.PackStart(generateAdditonalCommentsCheckBox, false, false, 2); frame2.Add(vBox2); // pack all the groups Gtk.VBox mainBox = new Gtk.VBox(false,2); mainBox.PackStart(frame1, false, false, 2); mainBox.PackStart(frame2, false, false, 2); this.Add(mainBox); } } } --=-oq8z2LbKJaQ7UX08hope-- From secretsquirrel@optusnet.com.au Tue Jan 13 01:38:15 2004 From: secretsquirrel@optusnet.com.au (John BouAntoun) Date: Tue, 13 Jan 2004 12:38:15 +1100 Subject: [MonoDevelop] Another option panel Message-ID: <1073957895.3449.1.camel@nkotb> --=-6nO6lo6dN+0VJbVqli5p Content-Type: text/plain Content-Transfer-Encoding: 7bit 12 minutes this time. This one goes in: src/Main/Base/Gui/Dialogs/OptionPanels/IDEOptions/CodeGenerationPanel.cs somone please review and commit. JBA P.S. Is the check box string rendering fixed in gtk-sharp yet? JBA --=-6nO6lo6dN+0VJbVqli5p Content-Disposition: attachment; filename=CodeGenerationPanel.cs Content-Type: text/plain; name=CodeGenerationPanel.cs; charset=UTF-8 Content-Transfer-Encoding: quoted-printable // // // // // // using System; using System.IO; using System.Drawing; using System.Collections; using ICSharpCode.SharpDevelop.Internal.ExternalTool; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.Core.Properties; using ICSharpCode.SharpDevelop.Gui.Components; using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns; using Gtk; namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels { public class CodeGenerationPanel : AbstractOptionPanel { // Gtk Controls CheckButton generateAdditonalCommentsCheckBox; CheckButton generateDocCommentsCheckBox; CheckButton useFullTypeNamesCheckBox;=20 CheckButton blankLinesBetweenMemberCheckBox; CheckButton elseOnClosingCheckBox; CheckButton startBlockOnTheSameLineCheckBox;=20 =09 // Services StringParserService StringParserService =3D (StringParserService)ServiceM= anager.Services.GetService (typeof (StringParserService)); PropertyService PropertyService =3D (PropertyService)ServiceManager.Servi= ces.GetService (typeof (PropertyService)); static readonly string codeGenerationProperty =3D "SharpDevelop.UI.CodeGe= nerationOptions"; =09 public override void LoadPanelContents() { // set up the form controls instance SetupPanelInstance(); =09 IProperties p =3D (IProperties)PropertyService.GetProperty(codeGeneratio= nProperty, new DefaultProperties()); =09 generateAdditonalCommentsCheckBox.Active =3D p.GetProperty("GenerateAddi= tionalComments", true); generateDocCommentsCheckBox.Active =3D p.GetProperty("GenerateDocu= mentComments", true); useFullTypeNamesCheckBox.Active =3D p.GetProperty("UseFullyQual= ifiedNames", true); =09 blankLinesBetweenMemberCheckBox.Active =3D p.GetProperty("BlankLinesBe= tweenMembers", true); elseOnClosingCheckBox.Active =3D p.GetProperty("ElseOnClosin= g", true); startBlockOnTheSameLineCheckBox.Active =3D p.GetProperty("StartBlockOn= SameLine", true); } =09 public override bool StorePanelContents() { IProperties p =3D (IProperties)PropertyService.GetProperty(codeGeneratio= nProperty, new DefaultProperties()); p.SetProperty("GenerateAdditionalComments", generateAdditonalCommentsChe= ckBox.Active); p.SetProperty("GenerateDocumentComments", generateDocCommentsCheckBox.= Active); p.SetProperty("UseFullyQualifiedNames", useFullTypeNamesCheckBox.Act= ive); p.SetProperty("BlankLinesBetweenMembers", blankLinesBetweenMemberCheck= Box.Active); p.SetProperty("ElseOnClosing", elseOnClosingCheckBox.Active= ); p.SetProperty("StartBlockOnSameLine", startBlockOnTheSameLineCheck= Box.Active); PropertyService.SetProperty(codeGenerationProperty, p); return true; } =09 private void SetupPanelInstance() { // instantiate all the controls in the first group Gtk.Frame frame1 =3D new Gtk.Frame(StringParserService.Parse("${res:Dial= og.Options.IDEOptions.CodeGenerationOptionsPanel.CodeGenerationOptionsGroup= Box}")); Gtk.VBox vBox1 =3D new Gtk.VBox(false,2); =09 useFullTypeNamesCheckBox =3D CheckButton.NewWithLabel(StringParserServic= e.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.UseFull= TypeNamesCheckBox}"));=20 blankLinesBetweenMemberCheckBox =3D CheckButton.NewWithLabel(StringParse= rService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.= BlankLinesBetweenMembersCheckBox}")); elseOnClosingCheckBox =3D CheckButton.NewWithLabel(StringParserService.P= arse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.ElseOnClos= ingCheckBox}")); startBlockOnTheSameLineCheckBox =3D CheckButton.NewWithLabel(StringParse= rService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.= StartBlockOnTheSameLineCheckBox}"));=20 =09 // pack all controls in first group vBox1.PackStart(startBlockOnTheSameLineCheckBox, false, false, 2); vBox1.PackStart(elseOnClosingCheckBox, false, false, 2); vBox1.PackStart(blankLinesBetweenMemberCheckBox, false, false, 2); vBox1.PackStart(useFullTypeNamesCheckBox, false, false, 2); frame1.Add(vBox1); =09 // instantiate all the controls in the second group Gtk.Frame frame2 =3D new Gtk.Frame(StringParserService.Parse("${res:Dial= og.Options.IDEOptions.CodeGenerationOptionsPanel.CommentGenerationOptionsGr= oupBox}")); Gtk.VBox vBox2 =3D new Gtk.VBox(false,2); =09 generateAdditonalCommentsCheckBox =3D CheckButton.NewWithLabel(StringPar= serService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPane= l.GenerateAdditionalCommentsCheckBox}")); generateDocCommentsCheckBox =3D CheckButton.NewWithLabel(StringParserSer= vice.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.Gene= rateDocCommentsCheckBox}")); =09 // pack all controls in second group vBox2.PackStart(generateDocCommentsCheckBox, false, false, 2); vBox2.PackStart(generateAdditonalCommentsCheckBox, false, false, 2); frame2.Add(vBox2); =09 // pack all the groups Gtk.VBox mainBox =3D new Gtk.VBox(false,2); mainBox.PackStart(frame1, false, false, 2); mainBox.PackStart(frame2, false, false, 2); this.Add(mainBox); } } } --=-6nO6lo6dN+0VJbVqli5p-- From madtom1999@yahoo.com Wed Jan 14 13:05:16 2004 From: madtom1999@yahoo.com (=?iso-8859-1?q?tom=20potts?=) Date: Wed, 14 Jan 2004 13:05:16 +0000 (GMT) Subject: [MonoDevelop] Hello and Recursive on Linux Message-ID: <20040114130516.43789.qmail@web41310.mail.yahoo.com> I'd like to get involved but I'm 99% Linux based .... Is MonoDevelop recursive on linux yet - ie can it be used to edit/build/debug itself yet? If not can this be done under #D on win 98 (166Meg is all I have in M$) or is this impractical. Thanks Tom ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html From tberman@gentoo.org Wed Jan 14 17:10:27 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 12:10:27 -0500 Subject: [MonoDevelop] Hello and Recursive on Linux In-Reply-To: <20040114130516.43789.qmail@web41310.mail.yahoo.com> References: <20040114130516.43789.qmail@web41310.mail.yahoo.com> Message-ID: <1074100227.1231.9.camel@proton> We are using Linux to port MonoDevelop. I personally use vim still at this point, but MD is getting closer and closer to being usable to dogfood itself. Hopefully soon I can give out the anonymous svn mirror :) --Todd On Wed, 2004-01-14 at 08:05, tom potts wrote: > I'd like to get involved but I'm 99% Linux based .... > Is MonoDevelop recursive on linux yet - ie can it be > used to edit/build/debug itself yet? > If not can this be done under #D on win 98 (166Meg is > all I have in M$) or is this impractical. > Thanks > Tom > > > ________________________________________________________________________ > Yahoo! Messenger - Communicate instantly..."Ping" > your friends today! Download Messenger Now > http://uk.messenger.yahoo.com/download/index.html > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From tberman@gentoo.org Wed Jan 14 17:27:36 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 12:27:36 -0500 Subject: [MonoDevelop] Anonymous SVN Mirror Message-ID: <1074101256.1231.21.camel@proton> The anonymous mirror is up at: svn://207.44.131.184/svn/monodevelop I recommend downloading 0.36 and running the following command to checkout: svn co svn://207.44.131.184/svn/monodevelop/trunk/MonoDevelop this will create a MonoDevelop folder underneath the current directory. To build MonoDevelop you will need mono from cvs, and gtk-sharp from cvs. You can get more info http://www.go-mono.com on installing mono/mcs from cvs. You will also need gtkmozembed-sharp. This is contained inside our repository, and is built using a standard autogen / make / make install. Your prefix should be the same as your gtk-sharp prefix (ie, if gtk-sharp.dll is at /usr/lib/gtk-sharp.dll use /usr as your prefix for gtkmozembed-sharp) After installing gtkmozembed-sharp you can make MD with a standard make command, followed by ./monodevelop. Happy Hacking :) --Todd From tberman@gentoo.org Thu Jan 15 00:43:47 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 19:43:47 -0500 Subject: [MonoDevelop] ideas Message-ID: <1074127427.1242.10.camel@proton> Ok, now that you guys have had access to the sources a bit, im going to start posting here general development stuff to see if we can get a bit of a discussion going. 1) I know that originally I has said we would be maintaining Windows compatability at all times, but having since thought about this, is there really a point? Windows already has VS.NET and the original #D, why would this be something that people feel is useful? Would it be better in the long term to use Gnome and all sorts of linux things to enhance MonoDevelop? For example, printing should really use gnome-print on linux, it is already wrapped and working under C#, why reinvent that wheel, or any number of wheels we will have to end up reinventing to stay working on windows? 2) What should we use for a help format. Obviously .chm will not work on linux easily :) Would tying into monodoc be the best thing to do using it's xhtml provider? or would it be better to use devhelp or something else? These are just a couple thoughts I had on the wonderful ttc ride home from work, I'm sure you all have plenty as well, so lets figure this type of stuff out. Keep in mind, we are accepting patches for MonoDevelop, so if you download the sources and want to contribute, just send a svn diff to this list, or potentially file a bug if its a bugfix. Happy Hacking --Todd From marco.canini@fastwebnet.it Thu Jan 15 00:59:14 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Thu, 15 Jan 2004 01:59:14 +0100 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> References: <1074127427.1242.10.camel@proton> Message-ID: <1074128353.844.2.camel@debian> On Thu, 2004-01-15 at 01:43, Todd Berman wrote: > Ok, now that you guys have had access to the sources a bit, im going to > start posting here general development stuff to see if we can get a bit > of a discussion going. > > 1) I know that originally I has said we would be maintaining Windows > compatability at all times, but having since thought about this, is > there really a point? Windows already has VS.NET and the original #D, > why would this be something that people feel is useful? > > Would it be better in the long term to use Gnome and all sorts of linux > things to enhance MonoDevelop? > IMHO yes, MD should focus on gnome libraries and on unix/linux > For example, printing should really use gnome-print on linux, it is > already wrapped and working under C#, why reinvent that wheel, or any > number of wheels we will have to end up reinventing to stay working on > windows? > > 2) What should we use for a help format. Obviously .chm will not work on > linux easily :) Would tying into monodoc be the best thing to do using > it's xhtml provider? or would it be better to use devhelp or something > else? I think monodoc is the perfect solution since it's already working and there's already a good base of documentation in its format. And IMO you should integrate the monodoc UI in MD, not rewrite the help engine. my 2 cents -- Marco Canini From reformist@philisoft.com Thu Jan 15 02:44:52 2004 From: reformist@philisoft.com (Phil Crosby) Date: Wed, 14 Jan 2004 21:44:52 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> References: <1074127427.1242.10.camel@proton> Message-ID: <1074134692.5877.5.camel@dakuan> I wholly agree with both your assertions; there will be a lot of wheel reinvention to maintain dual platforms. Also keep in mind that two officially supported platforms will require a lot of extra testing, and if there isn't much demand for this on windows, the testing-group on that platform may not be sufficiently large to ensure a stable release (as is the case for Abiword and their 2.0 release). As a help system, at MS we used .chm files and NDoc for internal docs, which was great, but NDoc was not integrated into the Visual Studio UI. Not that it really needed to be, but such UI integration could be a real bonus (if we were to use Monodoc, that is). -Phil Crosby From jluke@users.sourceforge.net Thu Jan 15 02:54:26 2004 From: jluke@users.sourceforge.net (John Luke) Date: Wed, 14 Jan 2004 21:54:26 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> References: <1074127427.1242.10.camel@proton> Message-ID: <1074134785.1324.11.camel@shark.jluke.com> > 1) I know that originally I has said we would be maintaining Windows > compatability at all times, but having since thought about this, is > there really a point? Windows already has VS.NET and the original #D, > why would this be something that people feel is useful? > > Would it be better in the long term to use Gnome and all sorts of linux > things to enhance MonoDevelop? > I have mixed feelings on this as well. It would be nice to demonstrate that Gtk# works fine on Windows, but I think it would slow us down a bit reimplementing some Gnome and Linux specific features in a cross- platform way. I think in the long-term the largest part of our community will be on Linux/UNIX and thus we should cater to that (and take advantage of Gnome). Also, I believe some of the libgnomeui stuff is moving to Gtk+ in the future, and much of it runs in cygwin already. > 2) What should we use for a help format. Obviously .chm will not work on > linux easily :) Would tying into monodoc be the best thing to do using > it's xhtml provider? or would it be better to use devhelp or something > else? > I, of course, want to reuse monodoc. I think there is now a chmlib that someone can write a provider for if needed. From tberman@gentoo.org Thu Jan 15 03:06:12 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 22:06:12 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074134785.1324.11.camel@shark.jluke.com> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> Message-ID: <1074135972.1205.13.camel@proton> One quick thing The bug where MD generates a code completion database, finishes and just sits and needs a ^C restart, is known, and a bug :) --Todd From ianm@ActiveState.com Thu Jan 15 03:19:45 2004 From: ianm@ActiveState.com (Ian MacLean) Date: Wed, 14 Jan 2004 19:19:45 -0800 Subject: [MonoDevelop] ideas In-Reply-To: <1074135972.1205.13.camel@proton> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> Message-ID: <400606D1.4070704@activestate.com> cool. I thought it might be. How about the enter key not working inside the edit control - anyone else seeing that ? Ian Todd Berman wrote: >One quick thing > >The bug where MD generates a code completion database, finishes and just >sits and needs a ^C restart, is known, and a bug :) > >--Todd > >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > From tberman@gentoo.org Thu Jan 15 03:23:40 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 22:23:40 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <400606D1.4070704@activestate.com> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> Message-ID: <1074137020.1205.15.camel@proton> We had a similar problem with that when capslock was on, make sure your modified keys are off, and if that fixes it, file a bug please :) --Todd On Wed, 2004-01-14 at 22:19, Ian MacLean wrote: > cool. I thought it might be. How about the enter key not working inside > the edit control - anyone else seeing that ? > > Ian > Todd Berman wrote: > > >One quick thing > > > >The bug where MD generates a code completion database, finishes and just > >sits and needs a ^C restart, is known, and a bug :) > > > >--Todd > > > >_______________________________________________ > >Monodevelop-list mailing list > >Monodevelop-list@lists.ximian.com > >http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From sam@lyzrd.org Thu Jan 15 03:38:07 2004 From: sam@lyzrd.org (Sam Hamilton) Date: Wed, 14 Jan 2004 22:38:07 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> References: <1074127427.1242.10.camel@proton> Message-ID: <3BA4CAAC-470C-11D8-B3C8-000393CDDC4C@lyzrd.org> All, I couldn't agree more with the thought that MonoDevelop on Windows would end up being wasted effort. Those people using and developing on windows have the options that Todd mentioned. It makes far more sense to finally deliver a complete IDE on Gnome. All the better that its showing the work that the Mono community has done and the potential benefits to Gnome users every where. I also feel strongly that MonoDoc meets 99.5% of the requirements that most developers have for documentation. Its robust and easy to use. No need to reinvent that wheel in my opinion. Finally, is anyone seeing a problem opening a Combine. I was receiving an unhandled exception in ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression that would cause MonoDev to crash upon opening a combine. Adding the correct try/catch solves the problem. I'm running gtk# HEAD and mono daily 1.13.2003. Thanks. Sam Hamilton On Jan 14, 2004, at 7:43 PM, Todd Berman wrote: > Ok, now that you guys have had access to the sources a bit, im going to > start posting here general development stuff to see if we can get a bit > of a discussion going. > > 1) I know that originally I has said we would be maintaining Windows > compatability at all times, but having since thought about this, is > there really a point? Windows already has VS.NET and the original #D, > why would this be something that people feel is useful? > > Would it be better in the long term to use Gnome and all sorts of linux > things to enhance MonoDevelop? > > For example, printing should really use gnome-print on linux, it is > already wrapped and working under C#, why reinvent that wheel, or any > number of wheels we will have to end up reinventing to stay working on > windows? > > 2) What should we use for a help format. Obviously .chm will not work > on > linux easily :) Would tying into monodoc be the best thing to do using > it's xhtml provider? or would it be better to use devhelp or something > else? > > These are just a couple thoughts I had on the wonderful ttc ride home > from work, I'm sure you all have plenty as well, so lets figure this > type of stuff out. > > Keep in mind, we are accepting patches for MonoDevelop, so if you > download the sources and want to contribute, just send a svn diff to > this list, or potentially file a bug if its a bugfix. > > Happy Hacking > > --Todd > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > From tberman@gentoo.org Thu Jan 15 03:37:06 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 22:37:06 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <3BA4CAAC-470C-11D8-B3C8-000393CDDC4C@lyzrd.org> References: <1074127427.1242.10.camel@proton> <3BA4CAAC-470C-11D8-B3C8-000393CDDC4C@lyzrd.org> Message-ID: <1074137826.1242.20.camel@proton> On Wed, 2004-01-14 at 22:38, Sam Hamilton wrote: > All, > I couldn't agree more with the thought that MonoDevelop on Windows > would end up being wasted effort. Those people using and developing on > windows have the options that Todd mentioned. It makes far more sense > to finally deliver a complete IDE on Gnome. All the better that its > showing the work that the Mono community has done and the potential > benefits to Gnome users every where. Seems to be a running theme, lets get some more opinions, but thats looking like where we might be leaning :) > I also feel strongly that MonoDoc meets 99.5% of the requirements that > most developers have for documentation. Its robust and easy to use. No > need to reinvent that wheel in my opinion. Sorry I was unclear here, we have always planned on embedding monodoc components for documentation browsing, the question was more geared towards application help :) > Finally, is anyone seeing a problem opening a Combine. I was receiving > an unhandled exception in > ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression that would > cause MonoDev to crash upon opening a combine. Adding the correct > try/catch solves the problem. I'm running gtk# HEAD and mono daily > 1.13.2003. This is most likely a Parser bug, we are finding a lot of these, I'm not 100% sure why, you should be able to isolate this down to a single file, and then down to a small code snippet, if you could do that and file a bug, it would help us a lot :) --Todd > Thanks. > > Sam Hamilton From ianm@ActiveState.com Thu Jan 15 03:37:43 2004 From: ianm@ActiveState.com (Ian MacLean) Date: Wed, 14 Jan 2004 19:37:43 -0800 Subject: [MonoDevelop] ideas In-Reply-To: <1074137020.1205.15.camel@proton> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> <1074137020.1205.15.camel@proton> Message-ID: <40060B07.60008@activestate.com> pretty sure capslock wasn't on. I'll try again tomorrow and see what I find. Ian Todd Berman wrote: >We had a similar problem with that when capslock was on, make sure your >modified keys are off, and if that fixes it, file a bug please :) > >--Todd > >On Wed, 2004-01-14 at 22:19, Ian MacLean wrote: > > >>cool. I thought it might be. How about the enter key not working inside >>the edit control - anyone else seeing that ? >> >>Ian >>Todd Berman wrote: >> >> >> >>>One quick thing >>> >>>The bug where MD generates a code completion database, finishes and just >>>sits and needs a ^C restart, is known, and a bug :) >>> >>>--Todd >>> >>>_______________________________________________ >>>Monodevelop-list mailing list >>>Monodevelop-list@lists.ximian.com >>>http://lists.ximian.com/mailman/listinfo/monodevelop-list >>> >>> >>> >>> >>_______________________________________________ >>Monodevelop-list mailing list >>Monodevelop-list@lists.ximian.com >>http://lists.ximian.com/mailman/listinfo/monodevelop-list >> >> From tberman@gentoo.org Thu Jan 15 03:42:29 2004 From: tberman@gentoo.org (Todd Berman) Date: Wed, 14 Jan 2004 22:42:29 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <40060B07.60008@activestate.com> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> <1074137020.1205.15.camel@proton> <40060B07.60008@activestate.com> Message-ID: <1074138148.1205.23.camel@proton> Might not just be capslock, could be scroll lock, numlock, etc, any modifier key was the problem earlier, thats just by first best initial guess :) --Todd On Wed, 2004-01-14 at 22:37, Ian MacLean wrote: > pretty sure capslock wasn't on. I'll try again tomorrow and see what I find. > > Ian > > Todd Berman wrote: > > >We had a similar problem with that when capslock was on, make sure your > >modified keys are off, and if that fixes it, file a bug please :) > > > >--Todd > > > >On Wed, 2004-01-14 at 22:19, Ian MacLean wrote: > > > > > >>cool. I thought it might be. How about the enter key not working inside > >>the edit control - anyone else seeing that ? > >> > >>Ian > >>Todd Berman wrote: > >> > >> > >> > >>>One quick thing > >>> > >>>The bug where MD generates a code completion database, finishes and just > >>>sits and needs a ^C restart, is known, and a bug :) > >>> > >>>--Todd > >>> > >>>_______________________________________________ > >>>Monodevelop-list mailing list > >>>Monodevelop-list@lists.ximian.com > >>>http://lists.ximian.com/mailman/listinfo/monodevelop-list > >>> > >>> > >>> > >>> > >>_______________________________________________ > >>Monodevelop-list mailing list > >>Monodevelop-list@lists.ximian.com > >>http://lists.ximian.com/mailman/listinfo/monodevelop-list > >> > >> > From asier@bips78.bi.ehu.es Thu Jan 15 07:07:51 2004 From: asier@bips78.bi.ehu.es (Asier Llano Palacios) Date: Thu, 15 Jan 2004 08:07:51 +0100 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> Message-ID: <000801c3db36$4a84a5f0$4101a8c0@izarraitz> My thoughts. 1) Of course. It would be hard to compete in windows with SharpDevelop itself, just because it uses native toolkits, and I think it would be useless. Maybe it would be a lot smarter to keep the work in sync with SharpDevelop, so that it is MonoDevelop for Linux and SharpDevelop for Windows, sharing 95% of the code, and using 5% of specific code for the specific platform. It should be great if the work of the SharpDevelop and MonoDevelop work is synchronized, even if there is some code that is different. (What about having only one repository, with some common code multiplatform, some code Windows specific, and some code Linux specific to avoid the synchronization work?). It would be a pity if both projects diverge enough so that the work is always done twice, the combines of one project cannot be used in the other one, the plugins cannot be shared, etc. 2) Monodoc is great, and I'm sure it even will improve, because there are skillful people on it. The integration with it seems good enough. Asier -----Mensaje original----- De: monodevelop-list-admin@lists.ximian.com [mailto:monodevelop-list-admin@lists.ximian.com] En nombre de Todd Berman Enviado el: jueves, 15 de enero de 2004 1:44 Para: monodevelop-list@lists.ximian.com Asunto: [MonoDevelop] ideas Ok, now that you guys have had access to the sources a bit, im going to start posting here general development stuff to see if we can get a bit of a discussion going. 1) I know that originally I has said we would be maintaining Windows compatability at all times, but having since thought about this, is there really a point? Windows already has VS.NET and the original #D, why would this be something that people feel is useful? Would it be better in the long term to use Gnome and all sorts of linux things to enhance MonoDevelop? For example, printing should really use gnome-print on linux, it is already wrapped and working under C#, why reinvent that wheel, or any number of wheels we will have to end up reinventing to stay working on windows? 2) What should we use for a help format. Obviously .chm will not work on linux easily :) Would tying into monodoc be the best thing to do using it's xhtml provider? or would it be better to use devhelp or something else? These are just a couple thoughts I had on the wonderful ttc ride home from work, I'm sure you all have plenty as well, so lets figure this type of stuff out. Keep in mind, we are accepting patches for MonoDevelop, so if you download the sources and want to contribute, just send a svn diff to this list, or potentially file a bug if its a bugfix. Happy Hacking --Todd _______________________________________________ Monodevelop-list mailing list Monodevelop-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monodevelop-list From jbafactor@optusnet.com.au Thu Jan 15 09:37:24 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Thu, 15 Jan 2004 20:37:24 +1100 Subject: [MonoDevelop] ExternalToolPanel.cs not being loaded from anywhere Message-ID: <1074159444.6167.2.camel@nkotb> Guys, I searched the entire MonoDevelop source and I could not find 1 reference to /src/Base/Main/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs I have something compiling that i want to see what it looks like. Can someone please look into why it's not being referenced in source or even loaded in the Gui when i select the corresponding option in the options panel? Regards, JBA From jondarrer@hotmail.com Thu Jan 15 10:26:25 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Thu, 15 Jan 2004 10:26:25 +0000 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_1882_34e5_1402 Content-Type: text/plain; format=flowed I've put together a simple Form. If someone would like to port it to Gtk# to demonstrate the process, it would be much appreciated. :) Jonathan >From: John Luke >Date: Mon, 12 Jan 2004 18:20:44 -0500 >On Mon, 2004-01-12 at 23:04 +0000, Jonathan Darrer wrote: >>Hi, >> >>I'm from a S.W.F background - albeit minimal. I'd appreciate an example - >>just to get a little familiar with the basics, as the documentation on the >>Mono website has not yet been written. I think it might be useful on the >>website too, for a few reasons. To give people an idea of how the port was >>done, and show them how to go about doing something similar themselves. I >>don't want to waste anyone's time, and it's by no means urgent, but I >>would appreciate it. :o) >> >>Jonathan >> >>NB. Something with a Form, MainMenu, Panel, TextBox, Buttons and some >>Events would be good. >If you right the SWF example and post it here one of us (or one of the >other people on the list) can post the Gtk# version. _________________________________________________________________ Express yourself with cool new emoticons http://www.msn.co.uk/specials/myemo ------=_NextPart_000_1882_34e5_1402 Content-Type: text/plain; name="Form1.cs"; format=flowed Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="Form1.cs" using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace WindowsApplication1 { /// /// Summary description for Form1. /// public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel2; private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; private System.Windows.Forms.MainMenu mainMenu1; private System.Windows.Forms.MenuItem menuItem1; private System.Windows.Forms.MenuItem menuItem2; private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.Label label2; private System.ComponentModel.IContainer components; public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.label1 = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.button1 = new System.Windows.Forms.Button(); this.textBox1 = new System.Windows.Forms.TextBox(); this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.menuItem1 = new System.Windows.Forms.MenuItem(); this.menuItem2 = new System.Windows.Forms.MenuItem(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.label2 = new System.Windows.Forms.Label(); this.panel1.SuspendLayout(); this.panel3.SuspendLayout(); this.panel2.SuspendLayout(); this.SuspendLayout(); // // panel1 // this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] { this.label2, this.panel3, this.panel2}); this.panel1.Location = new System.Drawing.Point(16, 16); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(344, 240); this.panel1.TabIndex = 0; // // panel3 // this.panel3.Controls.AddRange(new System.Windows.Forms.Control[] { this.label1}); this.panel3.Location = new System.Drawing.Point(16, 88); this.panel3.Name = "panel3"; this.panel3.Size = new System.Drawing.Size(312, 120); this.panel3.TabIndex = 1; // // label1 // this.label1.Font = new System.Drawing.Font("Arial", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.label1.ForeColor = System.Drawing.SystemColors.Desktop; this.label1.Location = new System.Drawing.Point(8, 8); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(296, 104); this.label1.TabIndex = 0; this.label1.Text = "label1"; // // panel2 // this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] { this.button1, this.textBox1}); this.panel2.Location = new System.Drawing.Point(16, 48); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(312, 40); this.panel2.TabIndex = 0; // // button1 // this.button1.Location = new System.Drawing.Point(224, 8); this.button1.Name = "button1"; this.button1.TabIndex = 2; this.button1.Text = "Press Me!"; this.button1.Click += new System.EventHandler(this.button1_Click); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(8, 8); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(136, 20); this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; this.toolTip1.SetToolTip(this.textBox1, "Type in the text you would like to display."); // // mainMenu1 // this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem1}); // // menuItem1 // this.menuItem1.Index = 0; this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem2}); this.menuItem1.Text = "&File"; // // menuItem2 // this.menuItem2.Index = 0; this.menuItem2.Text = "E&xit"; this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click); // // toolTip1 // this.toolTip1.AutoPopDelay = 5000; this.toolTip1.InitialDelay = 1000; this.toolTip1.ReshowDelay = 500; this.toolTip1.ShowAlways = true; // // label2 // this.label2.Font = new System.Drawing.Font("Arial", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.label2.Location = new System.Drawing.Point(16, 16); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(312, 24); this.label2.TabIndex = 2; this.label2.Text = "Type into the textbox and press the button."; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(376, 273); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.panel1}); this.Menu = this.mainMenu1; this.Name = "Form1"; this.Text = "Sample WinForm App"; this.Load += new System.EventHandler(this.Form1_Load); this.panel1.ResumeLayout(false); this.panel3.ResumeLayout(false); this.panel2.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.Run(new Form1()); } /// /// Changes the label1 text to that of textBox1. /// /// /// private void button1_Click(object sender, System.EventArgs e) { this.label1.Text = this.textBox1.Text; } /// /// Exits the application. /// /// /// private void menuItem2_Click(object sender, System.EventArgs e) { Application.Exit(); } /// /// Handles the loading of the form. /// /// /// private void Form1_Load(object sender, System.EventArgs e) { // // Set the label1 text to that of textBox1. // this.label1.Text = this.textBox1.Text; } } } ------=_NextPart_000_1882_34e5_1402-- From pedroabelleira@yahoo.es Thu Jan 15 10:50:13 2004 From: pedroabelleira@yahoo.es (=?iso-8859-1?q?Pedro=20Abelleira=20Seco?=) Date: Thu, 15 Jan 2004 11:50:13 +0100 (CET) Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: Message-ID: <20040115105013.84320.qmail@web40907.mail.yahoo.com> Could you post a screenshot, too? --- Jonathan Darrer escribió: > I've put together a simple Form. If someone would > like to port it to Gtk# to > demonstrate the process, it would be much > appreciated. :) > > Jonathan > > > >From: John Luke > >Date: Mon, 12 Jan 2004 18:20:44 -0500 > >On Mon, 2004-01-12 at 23:04 +0000, Jonathan Darrer > wrote: > >>Hi, > >> > >>I'm from a S.W.F background - albeit minimal. I'd > appreciate an example - > >>just to get a little familiar with the basics, as > the documentation on the > >>Mono website has not yet been written. I think it > might be useful on the > >>website too, for a few reasons. To give people an > idea of how the port was > >>done, and show them how to go about doing > something similar themselves. I > >>don't want to waste anyone's time, and it's by no > means urgent, but I > >>would appreciate it. :o) > >> > >>Jonathan > >> > >>NB. Something with a Form, MainMenu, Panel, > TextBox, Buttons and some > >>Events would be good. > >If you right the SWF example and post it here one > of us (or one of the > >other people on the list) can post the Gtk# > version. > > _________________________________________________________________ > Express yourself with cool new emoticons > http://www.msn.co.uk/specials/myemo > > using System; > using System.Drawing; > using System.Collections; > using System.ComponentModel; > using System.Windows.Forms; > using System.Data; > > namespace WindowsApplication1 > { > /// > /// Summary description for Form1. > /// > public class Form1 : System.Windows.Forms.Form > { > private System.Windows.Forms.Panel panel1; > private System.Windows.Forms.Panel panel2; > private System.Windows.Forms.Panel panel3; > private System.Windows.Forms.Label label1; > private System.Windows.Forms.TextBox textBox1; > private System.Windows.Forms.Button button1; > private System.Windows.Forms.MainMenu mainMenu1; > private System.Windows.Forms.MenuItem menuItem1; > private System.Windows.Forms.MenuItem menuItem2; > private System.Windows.Forms.ToolTip toolTip1; > private System.Windows.Forms.Label label2; > private System.ComponentModel.IContainer > components; > > public Form1() > { > // > // Required for Windows Form Designer support > // > InitializeComponent(); > > // > // TODO: Add any constructor code after > InitializeComponent call > // > } > > /// > /// Clean up any resources being used. > /// > protected override void Dispose( bool disposing ) > { > if( disposing ) > { > if (components != null) > { > components.Dispose(); > } > } > base.Dispose( disposing ); > } > > #region Windows Form Designer generated code > /// > /// Required method for Designer support - do not > modify > /// the contents of this method with the code > editor. > /// > private void InitializeComponent() > { > this.components = new > System.ComponentModel.Container(); > this.panel1 = new System.Windows.Forms.Panel(); > this.panel3 = new System.Windows.Forms.Panel(); > this.label1 = new System.Windows.Forms.Label(); > this.panel2 = new System.Windows.Forms.Panel(); > this.button1 = new System.Windows.Forms.Button(); > this.textBox1 = new > System.Windows.Forms.TextBox(); > this.mainMenu1 = new > System.Windows.Forms.MainMenu(); > this.menuItem1 = new > System.Windows.Forms.MenuItem(); > this.menuItem2 = new > System.Windows.Forms.MenuItem(); > this.toolTip1 = new > System.Windows.Forms.ToolTip(this.components); > this.label2 = new System.Windows.Forms.Label(); > this.panel1.SuspendLayout(); > this.panel3.SuspendLayout(); > this.panel2.SuspendLayout(); > this.SuspendLayout(); > // > // panel1 > // > this.panel1.BorderStyle = > System.Windows.Forms.BorderStyle.FixedSingle; > this.panel1.Controls.AddRange(new > System.Windows.Forms.Control[] { > this.label2, > this.panel3, > this.panel2}); > this.panel1.Location = new > System.Drawing.Point(16, 16); > this.panel1.Name = "panel1"; > this.panel1.Size = new System.Drawing.Size(344, > 240); > this.panel1.TabIndex = 0; > // > // panel3 > // > this.panel3.Controls.AddRange(new > System.Windows.Forms.Control[] { > this.label1}); > this.panel3.Location = new > System.Drawing.Point(16, 88); > this.panel3.Name = "panel3"; > this.panel3.Size = new System.Drawing.Size(312, > 120); > this.panel3.TabIndex = 1; > // > // label1 > // > this.label1.Font = new > System.Drawing.Font("Arial", 36F, > System.Drawing.FontStyle.Regular, > System.Drawing.GraphicsUnit.Point, > ((System.Byte)(0))); > this.label1.ForeColor = > System.Drawing.SystemColors.Desktop; > this.label1.Location = new > System.Drawing.Point(8, 8); > this.label1.Name = "label1"; > this.label1.Size = new System.Drawing.Size(296, > 104); > this.label1.TabIndex = 0; > this.label1.Text = "label1"; > // > // panel2 > // > this.panel2.Controls.AddRange(new > System.Windows.Forms.Control[] { > this.button1, > this.textBox1}); > this.panel2.Location = new > System.Drawing.Point(16, 48); > this.panel2.Name = "panel2"; > this.panel2.Size = new System.Drawing.Size(312, > 40); > this.panel2.TabIndex = 0; > // > // button1 > // > this.button1.Location = new > System.Drawing.Point(224, 8); > this.button1.Name = "button1"; > this.button1.TabIndex = 2; > this.button1.Text = "Press Me!"; > this.button1.Click += new > System.EventHandler(this.button1_Click); > // > // textBox1 > // > this.textBox1.Location = new > System.Drawing.Point(8, 8); > this.textBox1.Name = "textBox1"; > this.textBox1.Size = new System.Drawing.Size(136, > 20); > this.textBox1.TabIndex = 0; > this.textBox1.Text = "textBox1"; > this.toolTip1.SetToolTip(this.textBox1, "Type in > the text you would like > to display."); > // > // mainMenu1 > // > this.mainMenu1.MenuItems.AddRange(new > System.Windows.Forms.MenuItem[] { > this.menuItem1}); > // > // menuItem1 > // > this.menuItem1.Index = 0; > this.menuItem1.MenuItems.AddRange(new > System.Windows.Forms.MenuItem[] { > this.menuItem2}); > this.menuItem1.Text = "&File"; > // > // menuItem2 > // > this.menuItem2.Index = 0; > this.menuItem2.Text = "E&xit"; > this.menuItem2.Click += new > System.EventHandler(this.menuItem2_Click); > // > // toolTip1 > // > this.toolTip1.AutoPopDelay = 5000; > this.toolTip1.InitialDelay = 1000; > this.toolTip1.ReshowDelay = 500; > this.toolTip1.ShowAlways = true; > // > // label2 > // > this.label2.Font = new > System.Drawing.Font("Arial", 11.25F, > === message truncated === ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From jondarrer@hotmail.com Thu Jan 15 11:20:52 2004 From: jondarrer@hotmail.com (Jonathan Darrer) Date: Thu, 15 Jan 2004 11:20:52 +0000 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_68a5_5e92_f76 Content-Type: text/plain; format=flowed >From: Pedro Abelleira Seco >To: monodevelop-list@lists.ximian.com >Subject: RE: [MonoDevelop] S.W.F -> Gtk# Mappings >Date: Thu, 15 Jan 2004 11:50:13 +0100 (CET) > >Could you post a screenshot, too? Sure, the screenshot follows as Sample_WinForm_App.jpg Jonathan > >--- Jonathan Darrer escribió: > > I've put together a simple Form. If someone would > > like to port it to Gtk# to > > demonstrate the process, it would be much > > appreciated. :) > > > > Jonathan > > > > > > >From: John Luke > > >Date: Mon, 12 Jan 2004 18:20:44 -0500 > > >On Mon, 2004-01-12 at 23:04 +0000, Jonathan Darrer > > wrote: > > >>Hi, > > >> > > >>I'm from a S.W.F background - albeit minimal. I'd > > appreciate an example - > > >>just to get a little familiar with the basics, as > > the documentation on the > > >>Mono website has not yet been written. I think it > > might be useful on the > > >>website too, for a few reasons. To give people an > > idea of how the port was > > >>done, and show them how to go about doing > > something similar themselves. I > > >>don't want to waste anyone's time, and it's by no > > means urgent, but I > > >>would appreciate it. :o) > > >> > > >>Jonathan > > >> > > >>NB. Something with a Form, MainMenu, Panel, > > TextBox, Buttons and some > > >>Events would be good. > > >If you right the SWF example and post it here one > > of us (or one of the > > >other people on the list) can post the Gtk# > > version. > > > > >_________________________________________________________________ > > Express yourself with cool new emoticons > > http://www.msn.co.uk/specials/myemo > > > using System; > > using System.Drawing; > > using System.Collections; > > using System.ComponentModel; > > using System.Windows.Forms; > > using System.Data; > > > > namespace WindowsApplication1 > > { > > /// > > /// Summary description for Form1. > > /// > > public class Form1 : System.Windows.Forms.Form > > { > > private System.Windows.Forms.Panel panel1; > > private System.Windows.Forms.Panel panel2; > > private System.Windows.Forms.Panel panel3; > > private System.Windows.Forms.Label label1; > > private System.Windows.Forms.TextBox textBox1; > > private System.Windows.Forms.Button button1; > > private System.Windows.Forms.MainMenu mainMenu1; > > private System.Windows.Forms.MenuItem menuItem1; > > private System.Windows.Forms.MenuItem menuItem2; > > private System.Windows.Forms.ToolTip toolTip1; > > private System.Windows.Forms.Label label2; > > private System.ComponentModel.IContainer > > components; > > > > public Form1() > > { > > // > > // Required for Windows Form Designer support > > // > > InitializeComponent(); > > > > // > > // TODO: Add any constructor code after > > InitializeComponent call > > // > > } > > > > /// > > /// Clean up any resources being used. > > /// > > protected override void Dispose( bool disposing ) > > { > > if( disposing ) > > { > > if (components != null) > > { > > components.Dispose(); > > } > > } > > base.Dispose( disposing ); > > } > > > > #region Windows Form Designer generated code > > /// > > /// Required method for Designer support - do not > > modify > > /// the contents of this method with the code > > editor. > > /// > > private void InitializeComponent() > > { > > this.components = new > > System.ComponentModel.Container(); > > this.panel1 = new System.Windows.Forms.Panel(); > > this.panel3 = new System.Windows.Forms.Panel(); > > this.label1 = new System.Windows.Forms.Label(); > > this.panel2 = new System.Windows.Forms.Panel(); > > this.button1 = new System.Windows.Forms.Button(); > > this.textBox1 = new > > System.Windows.Forms.TextBox(); > > this.mainMenu1 = new > > System.Windows.Forms.MainMenu(); > > this.menuItem1 = new > > System.Windows.Forms.MenuItem(); > > this.menuItem2 = new > > System.Windows.Forms.MenuItem(); > > this.toolTip1 = new > > System.Windows.Forms.ToolTip(this.components); > > this.label2 = new System.Windows.Forms.Label(); > > this.panel1.SuspendLayout(); > > this.panel3.SuspendLayout(); > > this.panel2.SuspendLayout(); > > this.SuspendLayout(); > > // > > // panel1 > > // > > this.panel1.BorderStyle = > > System.Windows.Forms.BorderStyle.FixedSingle; > > this.panel1.Controls.AddRange(new > > System.Windows.Forms.Control[] { > > this.label2, > > this.panel3, > > this.panel2}); > > this.panel1.Location = new > > System.Drawing.Point(16, 16); > > this.panel1.Name = "panel1"; > > this.panel1.Size = new System.Drawing.Size(344, > > 240); > > this.panel1.TabIndex = 0; > > // > > // panel3 > > // > > this.panel3.Controls.AddRange(new > > System.Windows.Forms.Control[] { > > this.label1}); > > this.panel3.Location = new > > System.Drawing.Point(16, 88); > > this.panel3.Name = "panel3"; > > this.panel3.Size = new System.Drawing.Size(312, > > 120); > > this.panel3.TabIndex = 1; > > // > > // label1 > > // > > this.label1.Font = new > > System.Drawing.Font("Arial", 36F, > > System.Drawing.FontStyle.Regular, > > System.Drawing.GraphicsUnit.Point, > > ((System.Byte)(0))); > > this.label1.ForeColor = > > System.Drawing.SystemColors.Desktop; > > this.label1.Location = new > > System.Drawing.Point(8, 8); > > this.label1.Name = "label1"; > > this.label1.Size = new System.Drawing.Size(296, > > 104); > > this.label1.TabIndex = 0; > > this.label1.Text = "label1"; > > // > > // panel2 > > // > > this.panel2.Controls.AddRange(new > > System.Windows.Forms.Control[] { > > this.button1, > > this.textBox1}); > > this.panel2.Location = new > > System.Drawing.Point(16, 48); > > this.panel2.Name = "panel2"; > > this.panel2.Size = new System.Drawing.Size(312, > > 40); > > this.panel2.TabIndex = 0; > > // > > // button1 > > // > > this.button1.Location = new > > System.Drawing.Point(224, 8); > > this.button1.Name = "button1"; > > this.button1.TabIndex = 2; > > this.button1.Text = "Press Me!"; > > this.button1.Click += new > > System.EventHandler(this.button1_Click); > > // > > // textBox1 > > // > > this.textBox1.Location = new > > System.Drawing.Point(8, 8); > > this.textBox1.Name = "textBox1"; > > this.textBox1.Size = new System.Drawing.Size(136, > > 20); > > this.textBox1.TabIndex = 0; > > this.textBox1.Text = "textBox1"; > > this.toolTip1.SetToolTip(this.textBox1, "Type in > > the text you would like > > to display."); > > // > > // mainMenu1 > > // > > this.mainMenu1.MenuItems.AddRange(new > > System.Windows.Forms.MenuItem[] { > > this.menuItem1}); > > // > > // menuItem1 > > // > > this.menuItem1.Index = 0; > > this.menuItem1.MenuItems.AddRange(new > > System.Windows.Forms.MenuItem[] { > > this.menuItem2}); > > this.menuItem1.Text = "&File"; > > // > > // menuItem2 > > // > > this.menuItem2.Index = 0; > > this.menuItem2.Text = "E&xit"; > > this.menuItem2.Click += new > > System.EventHandler(this.menuItem2_Click); > > // > > // toolTip1 > > // > > this.toolTip1.AutoPopDelay = 5000; > > this.toolTip1.InitialDelay = 1000; > > this.toolTip1.ReshowDelay = 500; > > this.toolTip1.ShowAlways = true; > > // > > // label2 > > // > > this.label2.Font = new > > System.Drawing.Font("Arial", 11.25F, > > >=== message truncated === > >___________________________________________________ >Yahoo! Messenger - Nueva versión GRATIS >Super Webcam, voz, caritas animadas, y más... >http://messenger.yahoo.es >_______________________________________________ >Monodevelop-list mailing list >Monodevelop-list@lists.ximian.com >http://lists.ximian.com/mailman/listinfo/monodevelop-list _________________________________________________________________ Stay in touch with absent friends - get MSN Messenger http://www.msn.co.uk/messenger ------=_NextPart_000_68a5_5e92_f76 Content-Type: image/jpeg; name="Sample_WinForm_App.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Sample_WinForm_App.jpg" /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/ 2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAE+AYADASIAAhEBAxEB/8QA HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB AQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom JygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDsvGnivU/D +o6XbWcsaQz208srPG0hURQq/wAqh1GTz1NY/h3x3rviiSSLTb1GlRlXZJYl c5V24P2nHARup9KPiT5//CQ6D9l8z7R9ivvK8rO/f9mXG3HOc4xisrwxquoa RezXepJqLIJkS2ju1uGMjGOcNtBVmzjBOBjirq8yopUY3m1p1e76WfRG0MOp UqleU0lC2j3d+3p1N/xJ4l8X+G9Jmvbie0LIgdY2gOHG9FPK3DYxvB5FcQPj V4pP/LKx/wC+Zf8A4utvx54gh1zwve7VETwxlPLIkD5823JyHjXGAyfXdx0N SeKbb/hIvDs9152veGf3tnbf2ZqzeRp53YTbEvHypt3k44Ck7Rn5Xlft5UE8 dS5Z3aafTaxx1JJu9OV1Ywh8aPFB/wCWVj/3zL/8XTx8ZvE//POy/wC+Zf8A 4uuptPh14fl1HTUutImixq09jKhjmt47hFt5HDqGlkYruQFWDKCCQRxWPoXh nQNa/wCET83R4YP7fjvUm8mab9wYN+14tzn5jxnfuHyjAHOfQ/2ffl/rX/Ij 953KA+MniY/8s7L/AL5k/wDi6s3XxW8X2Ny9teWcFtOmN0U0UyMuRkZBfI4I NWbnwjo6eH1nfSPs1ufDMeo/2n5kozeHGI8sxj+bj5dufm4xxXReI9C0W78R 67qV5pl3qt2mo20MlraRPM6Q/ZkbcESRCu47hvYsMqAB1pP2F/h/rQPf7nID 4v8AiX/nnZ/lJ/8AF1IPi54kP8Fp+Un/AMXVHwZLaWfju70iQXFvp+prPpb/ AGhMTxpJwgIAwJNwQHIIGT+HY61cWGm+GdS1C3uJmurKzHhRUmh2rIyHMjja T1XJXJGNpznIFOUKUZcvIJSk1e5zw+LXiP8AuWn5Sf8AxdPHxY8RH+G1/KT/ AOLrptd8PaLHrDyT6f8AbJLjX7bTmkurqd2WJ7eNjg78kgk4Jz6dAMZvimaP w/4O0zSoZtS8rztStk8m8ESsqzlR5qhD5gweny9/XiYqjK1obg3NXuzOHxV8 Qn+G1/KT/wCLpw+KfiE/w235Sf8AxdbMvg/QVvJYfsOyziu9OjsrvzX/AOJg spUSjcW2twSf3YXGPSs6fTtBht/Fk8GiKTo80UEST3MjBi08is3ylTjbtAGT jaOScktKg9oheoupEPij4gP8Nt+Un/xdOHxO189rb/yJ/wDFVZ8Q+G9Is4PF MVraeU+kyWrwSiRyziY/Mr5JBA3YGAD8oyTznS8Ew2OneHrFL64jj/t+6khe PDkzwBWiEeQMKfMcHORwevak40eXmUf6tf8AIE53s2Y4+Jmvelv/AORP/iqc PiVrp7W//kT/AOKrVsPB9hHa6VBfacrrI19HqOoJJIBAYmYKwOQijj+JecdK in8N6YmjLK2m+RD/AGCl79v3yDN0cYTJbZ8393GeeO1FqF7cofvO5SHxH109 oP8Ax/8A+Kp4+IuuH/nh/wCP/wDxVcctSCtvq9L+Uz9rPudePiHrf/TH/wAf /wDiqePiBrR/54/+P/8AxVcitSCj6vS7B7Wfc60ePtaPeL/x/wD+Kpw8eaye 8X/j/wD8VXKLUi0vYU+we1n3OqHjnWD3j/N//iqePG+rn+KP83/+Krl16VIv Wl7Cn2D2s+50w8aasf4k/N//AIqnjxlqx/iT83/+Krm1p60vYU+wvaz7nRjx hqv95fzb/Gnjxbqh/jX82/xrnRUq0ewp9g9rPudAPFepn+Mfm3+NOHinUz/G Pzb/ABrBWpBR7Cn2D2s+5ujxPqR/5aD82/xp48Saif8Alp/483+NYYqVaXsK fYPaz7myPEWoH/lp/wCPN/jTx4gv/wDnqf8Avpv8axlqUUvY0+we1n3NYa7f n/lqf++m/wAaeNbvj/y1b/vpv8aylqRaPY0+we1n3NQaxen/AJat/wB9N/jT hq14f+Wz/wDfR/xrNWpRR7Gn2D2s+5oDU7s/8tn/AO+j/jV52u0dka/QMpwR uk6/lWMtReKvFuh+Frxf7Zvvsv2mSTyv3Tvu2kZ+6Dj7w6+tc1dRhblRvRbn e7NLUtUk0vTbi+nv8xQIXZULljjsOOp6c1FqPiGy0e6+zan4m02znxu8u4uz GxGSM4PbIPPtXPa3q9jrvw9vdS02fz7SaFvLk2MucPtPDAHqD2qHxB/wjH/C w9T/AOEk/sj/AI8bfyP7R8r/AJ63O7bv/wCA5x7Vz8/kjbk8zfbxZYNpt5fW niGzvorNN8q2dwZWGc4HHQnBAzitZJbx4kkN6qBxkBmfOMkdh7V5fdf2D5Xi v/hHv7N+yf2Zab/7P2eXv8y4znZxuxt98YruPEcdjL4UkTUrCa/tGt2ElrBC 0skvztgKq87s4weMHnIxkUpLlbshcvvJXNrzLr/oIJ/31J/hXJ+I9XbVfA2q yxzSPDtdAWJw21yucHtlcjP6Vg+FNN1iz8Q27+Kra8u7s2xGmXTSfaI7RP44 pGVFCzEYzKchwMA8YM3/ADTHUP8Att/6OaknzJ6f1dA1ZrX+rGr468Oanrmo aXcacbE/ZoJY5Y7xnCussSoR8gz03dx2rmW8EeIyjKLXw6u4RglLi8U4jjMa 8hs8IxHvnnNep3P+tX/rmn/oIrjv7f1CTxVeaesyR21vdxQBF0i4nLq0cbnM yNsQ5cjkcAAnirp4mpTtyu1hypRlv1OXn8A+JJtLmsI49AgjmzudJ7ln5aMn l93Xyk/LjGaxh8HvEH/P5pn/AH9k/wDiK7Gy+INtb2slxqM3mm4kja1jzDbY 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 TXciUOZp9gooorMs47wJZXVn9v8AtNtNBu8vb5sZXON2cZrS8TeHP7ciikgd I7qLgFxwynsSBnjqPx9c1v0VvKvJ1PaLRmUaMVT9m9jhItX8Xacv2aXT3uWT HzvC0hxgcbkOD9eT1zRBo2t+I7+G71geVao2fKcFTtycqqjkdMZODjB5xXd0 Vf1m2sYpPuR7C+kpNox/FUMtx4bu4oInlkbZhEUsT869hR4Whlt/DdpFPE8U i78o6lSPnbsa2KKx9o/Z+z87mvJ7/P5WOO8CWV1Z/b/tNtNBu8vb5sZXON2c Zqz4m8MzajcpqOnSLHdoBuXO3fjkEEfxdBz7cjFdRRVvES9p7RbkKjH2fIzh Drni6GJ7d9Nd5F3KZvsrE59Rj5Tjtxj61c0PwzfHVf7W1mRWnzuWMkMd3TJ7 DHBAHt0xiuvoqniNGoxSuJUNU5NuxR1i5urPSpp7KDz7hduyPYWzlgDwOema ZoN/Lqmi295OqLJJuyEBA4YjuT6VY1A3Q0+4+xKputh8oEgfN26jH58fSotH sP7L0i2sy25o1+Y5yNxOTjgcZJxWfu+z87l68/lYvUUUVkaBRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVi2v/I76r/2DbP/ANGX NbVYtr/yO+q/9g2z/wDRlzTA2qw/GP8AyKGp/wDXH+orcrD8Y/8AIoan/wBc f6ihAdFc/wCtX/rmn/oIqGprn/Wr/wBc0/8AQRUNIDFuv+R30r/sG3n/AKMt q2qxbr/kd9K/7Bt5/wCjLatqgAooooAKKq6ldyWGmz3ccHntCu8x79uQOvPs Mn8Kg0TV49a00XaJ5bbijx5ztI98DPBB/Gr5JcvN0J5lzcvU0aKK5XWPGX9l arNZfYPN8rb8/nbc5UHptPrTp05VHaKFOpGCvI6qiorW4S7tIbmMMElRZFDd QCM81LUNW0K3CisPRfEX9tX91DDa7beDpP5md3OF+UgEZAJ9sVuVU4Sg7S3F GSkroKKKKgoKKKKACisPUvEX9n67Z6Z9l8z7Rs/eeZjbuYr0xz09a3KuUJRS b6kqSbaXQKKKo6xqP9laVNe+V5vlbfk3bc5YDrg+tTFOTshtpK7L1FUdH1H+ 1dKhvfK8rzd3ybt2MMR1wPSqP/CRf8VT/Yn2X/tt5n+xv+7j8OtWqcm2rbbk upFJPublFFFZlhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABWLa/8AI76r/wBg2z/9GXNbVYtr/wAjvqv/AGDbP/0Zc0wNqsPxj/yKGp/9 cf6itysPxj/yKGp/9cf6ihAdFc/61f8Armn/AKCKhqa5/wBav/XNP/QRUNID Fuv+R30r/sG3n/oy2rarFuv+R30r/sG3n/oy2raoAKKKKAGuiSRtHIqujAhl YZBB7EVx/giR7S71LSZpVLxPuVVHBIO1yDj/AHev+NdlXGzbNJ+IsTLIqRXq DeoTu2QB+LqDnjr9a6aPvRnDyv8AcYVdJRl5/mdfNNHbwSTyttjjUu5xnAAy a850ewl1q316+kV90kTbUiQ4eQt5mB16FQMdfmrrPF98bLw7MFLB5yIVIAPX rnP+yCPxp/hSxFj4dthhd8w85yCTnd06/wCztH4VVOXs6Tmt2/yJqL2lRR6J FHwLfC40VrUld9s5GAD91uQT+O78q2tZvPsGjXdyJPLZIjsbGcOeF4+pFcto P/Em8a3uljiGbOxV5AwN65J54UkfU/jV3x5eeTo0VssmGuJRlcfeReTz252/ 5zTnTUsQrbPUUJuNF33WhJ4GtPI0EzkJuuJWYMBztHygH8Q351c1nxPYaOzR OWmugM+SnbI43HoO3vyDirkMcWi6Iqkbo7SDLbFALbRknHqeT+Ncl4Q0mLVZ brVtQRLhjKVCuAQXPLErjHcY/HjpSSjUlKrPYd5QUacdyeH4hRNKon050j7s koYj8CB/Oursb+11K2FxaTLLESRkZGCOxB5FOu7O2v4DBdQpLGezDODjGR6H k8iuN8OqdD8Y3ekb2aKUEJjB6DepJ4/hJHHc0uWnUi3BWa+Y+apTklJ3TOkv /EFjpupR2V0XRniMvmYGwDnrznPyngDuKwn+INuLnamnymDI+cyANjv8uMev f8qp+Mbf7Z4ssLbfs86KOPdjOMuwziu1TT7SOxWyFtEbVQAImXK9c8g9eefr VONKnCMpK7ZN6k5SUXaxxuvS+d4z0SXY8e9YG2SDDLmQ8EdjXcu6RxtJIyoi glmY4AA7k1xXiT/ketI/7Y/+jTVzx5fGDSobRSwNy+W4GCq4OPzKn8Kcoe09 nFdUKM+TnkyO88f2kUm20tJZwCQWdvLB9COCTn3xVXU/FNprXhq8g2Nb3WEP lschv3g+6e/HPQfjium0PRodG09IUVfOYAzSA53N9fQc4/xzWD410O2+wNqc ESRTRsPN28BwxxkjHLZI5+vXinTdB1FFLruKarcjbfTY1fCH/IrWX/A//Q2r E/5ql/n/AJ4Vt+EP+RWsv+B/+htWd9gl/wCFk+fuTb5Hn4yc7dvl46dc/pSi 0qlS/Zjabp0/VHW0UUVxHWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFYtr/yO+q/9g2z/wDRlzW1WLa/8jvqv/YNs/8A0Zc0wNqsPxj/ AMihqf8A1x/qK3Kw/GP/ACKGp/8AXH+ooQHRXP8ArV/65p/6CKhqa5/1q/8A XNP/AEEVDSAxbr/kd9K/7Bt5/wCjLatqsW6/5HfSv+wbef8Aoy2raoAKKKKA CuU8cQzJbWOpQMwe0m7JnbnBDH6FQOfWurrP1uxOo6Ld2qhi7plACBlhyo59 wK1oz5KibM6seaDRynimaPXNZ0mwtW3K6h/MUbiBJg8r1GFAbnse1dyiJHGs caqiKAFVRgADsBXCeE9Kv310Xt/b3EQt4QqNImzJ2hFGCOflz09Bn372tcTa PLTi9EZ0LyvN9TiPGMP9n63p2sJFuUMu8BcAshyMt6kcf8BqbUn/ALX8b6Zb 282+C1VZ2ZF3BT9/OfQgIM5xyK1/FVg+oaBPHFC0s0ZWSNV65B5wO/yluP61 keDNOvUurm+v4ZonESW8YkXZlQB2xngKoz9etawmvZc7equvvM5RfteVbOzO n1OGS40m8giXdJJA6IM4ySpArnPAE0baTcwBv3iT72GOgKgD/wBBP5V1tcRq PhzVNJ1KXUtCf5WyTEgG5QckgLjDL0wOvTjjNY0XGUJU27X2NKqcZKaV7Hb1 w1mxvviXNNCjbIS4fOBjanlk/wDfWPzpsur+LtRX7NFp72zPn50haM4weNzn A+vB6Yrc8M+HP7DilkndJLqXglBwqjsCRnnqfw9M1aiqMZOTV2rEuXtZJJaJ 3MfxJ/yPWkf9sf8A0aa7euO8QWV1N4z0ueK2mkhTyt8ixkquJCTk9BxXY1FZ rkh6F0l70vU4jxJ/yPWkf9sf/Rpp/wAQoZGgsJwv7tGdGOehIBH/AKCfyp/i CyupvGelzxW00kKeVvkWMlVxIScnoOK6XVNNh1XT5bSZVww+RiM7G7MPp/8A WrX2ig6cuyM/ZuanEswzR3EEc8Tbo5FDocYyCMisPxnNHF4ZuEdsNKyIgx1O 4N/IGsCBfFPhnFtDb/a7c52BEMqA8EkYww+hwOv1qDUtP8Qa5by6lewPGIlA htkQ5JLAHCdR3JJ9u3Qp0FGopcytcJ1nKDjyu51PhD/kVrL/AIH/AOhtUnky /wDCZ+f5T+T/AGfs8zadu7zM4z0zjtR4Whlt/DdpFPE8Ui78o6lSPnbsaj/t LVf+Ep+w/Yv+Jd/z8eU39zP3s4+9xWUrupO3maKyhC/kblFFFcxuFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFYtr/wAjvqv/AGDbP/0Z c1tVi2v/ACO+q/8AYNs//RlzTA2qw/GP/Ioan/1x/qK3Kw/GP/Ioan/1x/qK EB0Vz/rV/wCuaf8AoIqGprn/AFq/9c0/9BFQ0gMW6/5HfSv+wbef+jLatqsW 6/5HfSv+wbef+jLatqgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACsW1/5HfVf+wbZ/wDoy5rarFtf+R31X/sG2f8A6MuaYG1WH4x/5FDU /wDrj/UVuVh+Mf8AkUNT/wCuP9RQgOiuf9av/XNP/QRUNTXP+tX/AK5p/wCg ioaQGLdf8jvpX/YNvP8A0ZbVtVi3X/I76V/2Dbz/ANGW1bVABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFYtr/AMjvqv8A2DbP/wBGXNbV Ytr/AMjvqv8A2DbP/wBGXNMDarD8Y/8AIoan/wBcf6itysPxj/yKGp/9cf6i hAdFc/61f+uaf+gioamuf9av/XNP/QRUNIDFuv8Akd9K/wCwbef+jLatqqWo aPpereX/AGlptneeVny/tMCybM4zjcDjOB+VUv8AhDvDH/QuaR/4Axf/ABNM DaorF/4Q7wx/0Lmkf+AMX/xNH/CHeGP+hc0j/wAAYv8A4mkBtUVi/wDCHeGP +hc0j/wBi/8AiaP+EO8Mf9C5pH/gDF/8TQBtUVi/8Id4Y/6FzSP/AABi/wDi aP8AhDvDH/QuaR/4Axf/ABNAG1RWL/wh3hj/AKFzSP8AwBi/+Jo/4Q7wx/0L mkf+AMX/AMTQBtUVi/8ACHeGP+hc0j/wBi/+Jo/4Q7wx/wBC5pH/AIAxf/E0 AbVFYv8Awh3hj/oXNI/8AYv/AImj/hDvDH/QuaR/4Axf/E0AbVFYv/CHeGP+ hc0j/wAAYv8A4mj/AIQ7wx/0Lmkf+AMX/wATQBtUVi/8Id4Y/wChc0j/AMAY v/iaP+EO8Mf9C5pH/gDF/wDE0AbVFYv/AAh3hj/oXNI/8AYv/iaP+EO8Mf8A QuaR/wCAMX/xNAG1RWL/AMId4Y/6FzSP/AGL/wCJo/4Q7wx/0Lmkf+AMX/xN AG1RWL/wh3hj/oXNI/8AAGL/AOJo/wCEO8Mf9C5pH/gDF/8AE0AbVFYv/CHe GP8AoXNI/wDAGL/4mj/hDvDH/QuaR/4Axf8AxNAG1RWL/wAId4Y/6FzSP/AG L/4mj/hDvDH/AELmkf8AgDF/8TQBtUVi/wDCHeGP+hc0j/wBi/8AiaP+EO8M f9C5pH/gDF/8TQBtUVi/8Id4Y/6FzSP/AABi/wDiaP8AhDvDH/QuaR/4Axf/ ABNAG1RWL/wh3hj/AKFzSP8AwBi/+Jo/4Q7wx/0Lmkf+AMX/AMTQBtUVi/8A CHeGP+hc0j/wBi/+Jo/4Q7wx/wBC5pH/AIAxf/E0AbVFYv8Awh3hj/oXNI/8 AYv/AImj/hDvDH/QuaR/4Axf/E0AbVFYv/CHeGP+hc0j/wAAYv8A4mj/AIQ7 wx/0Lmkf+AMX/wATQBtUVi/8Id4Y/wChc0j/AMAYv/iaP+EO8Mf9C5pH/gDF /wDE0AbVYtr/AMjvqv8A2DbP/wBGXNH/AAh3hj/oXNI/8AYv/iau6fo+l6T5 n9m6bZ2fm48z7NAse/GcZ2gZxk/nTAu1h+Mf+RQ1P/rj/UVuVh+Mf+RQ1P8A 64/1FCA6K5/1q/8AXNP/AEEVDXBT/FixeUlNMuNoAUEuoJAGM/pUf/C1bP8A 6Bk//fwUWYj0GivPv+Fq2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+ Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/ AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq 2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/ 9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+ Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/ AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq 2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/ 9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+ Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/ AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq 2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/ 9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/AEDJ/wDv4KLMD0GivPv+ Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GivPv+Fq2f8A0DJ/+/go/wCFq2f/ AEDJ/wDv4KLMD0GivPv+Fq2f/QMn/wC/go/4WrZ/9Ayf/v4KLMD0GsPxj/yK Gp/9cf6iua/4WrZ/9Ayf/v4Koa38RLTVtFu7BbCaNp02hy4IBosB/9k= ------=_NextPart_000_68a5_5e92_f76-- From will@digitalelite.com Thu Jan 15 12:58:24 2004 From: will@digitalelite.com (William Wise) Date: Thu, 15 Jan 2004 07:58:24 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074138148.1205.23.camel@proton> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> <1074137020.1205.15.camel@proton> <40060B07.60008@activestate.com> <1074138148.1205.23.camel@proton> Message-ID: <814ABADF-475A-11D8-BB25-000A9595CB6A@digitalelite.com> I certainly agree with the previous comment that insuring combines can be shared between SD and MD is important, at least until the Mono WinForms port is mature enough to be able to run SharpDevelop. Will From jluke@users.sourceforge.net Thu Jan 15 20:11:36 2004 From: jluke@users.sourceforge.net (John Luke) Date: Thu, 15 Jan 2004 15:11:36 -0500 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: References: Message-ID: <1074197496.1324.21.camel@shark.jluke.com> On Thu, 2004-01-15 at 10:26 +0000, Jonathan Darrer wrote: > I've put together a simple Form. If someone would like to port it to Gtk# to > demonstrate the process, it would be much appreciated. :) > > Jonathan Ugh, I guess I should have been more specific. I thought you were talking about a custom-control like one of the SD ones. Also, it looks like you used VS.NET to design it, which generates most of the gui code. In the Gtk world we would just use glade to do that, and wire up the events. The are a lot of examples out there for using Glade and gtk#. If someone doesn't get back in a couple days I'll do it though. From casey@cwinans.com Thu Jan 15 20:14:43 2004 From: casey@cwinans.com (Casey Winans) Date: Thu, 15 Jan 2004 15:14:43 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <814ABADF-475A-11D8-BB25-000A9595CB6A@digitalelite.com> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> <1074137020.1205.15.camel@proton> <40060B07.60008@activestate.com> <1074138148.1205.23.camel@proton> <814ABADF-475A-11D8-BB25-000A9595CB6A@digitalelite.com> Message-ID: <1074197683.2867.4.camel@spongebob.www.ebizitpa.local> On Thu, 2004-01-15 at 07:58, William Wise wrote: > I certainly agree with the previous comment that insuring combines can > be shared between SD and MD is important, at least until the Mono > WinForms port is mature enough to be able to run SharpDevelop. Yes, that would be very important. I could see myself now being annoyed if I couldn't move between them freely. Casey Winans From tberman@gentoo.org Thu Jan 15 20:16:09 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 15 Jan 2004 15:16:09 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074197683.2867.4.camel@spongebob.www.ebizitpa.local> References: <1074127427.1242.10.camel@proton> <1074134785.1324.11.camel@shark.jluke.com> <1074135972.1205.13.camel@proton> <400606D1.4070704@activestate.com> <1074137020.1205.15.camel@proton> <40060B07.60008@activestate.com> <1074138148.1205.23.camel@proton> <814ABADF-475A-11D8-BB25-000A9595CB6A@digitalelite.com> <1074197683.2867.4.camel@spongebob.www.ebizitpa.local> Message-ID: <1074197769.1187.0.camel@proton> We have no plans to change the combine format at this point. --Todd On Thu, 2004-01-15 at 15:14, Casey Winans wrote: > On Thu, 2004-01-15 at 07:58, William Wise wrote: > > I certainly agree with the previous comment that insuring combines can > > be shared between SD and MD is important, at least until the Mono > > WinForms port is mature enough to be able to run SharpDevelop. > > Yes, that would be very important. I could see myself now being annoyed > if I couldn't move between them freely. > > Casey Winans > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From casey@cwinans.com Thu Jan 15 20:27:51 2004 From: casey@cwinans.com (Casey Winans) Date: Thu, 15 Jan 2004 15:27:51 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074127427.1242.10.camel@proton> References: <1074127427.1242.10.camel@proton> Message-ID: <1074198471.2867.18.camel@spongebob.www.ebizitpa.local> > 1) I know that originally I has said we would be maintaining Windows > compatibility at all times, but having since thought about this, is > there really a point? Windows already has VS.NET and the original #D, > why would this be something that people feel is useful? The way I understand it after reading much of the SharpDevelop teams book a while back is that most everything is written utilizing interfaces so large pieces of the tool can be replaced later with a better implementation if one becomes available. We could set up a committee to adapt current interfaces and propose new ones so that both teams are happy and a large chunk of the code can be shared. As well as ensuring project files are compatible, etc... > Would it be better in the long term to use Gnome and all sorts of Linux > things to enhance MonoDevelop? This could be achieved in our implementation... just so long as we fully implement the proper interfaces if any apply. There is nothing stopping us from introducing unique features into MD that the SD guys don't have. We could then work to create an interface for that particular feature that both teams can agree on if need be. > > For example, printing should really use gnome-print on Linux, it is > already wrapped and working under C#, why reinvent that wheel, or any > number of wheels we will have to end up reinventing to stay working on > windows? Why not work with the SD guys to create a generic print interface and we can implement it using gnome-print and the SD guys can wire up that interface using the equivalent windows mechanism. Casey Winans From jbafactor@optusnet.com.au Thu Jan 15 21:37:51 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Fri, 16 Jan 2004 08:37:51 +1100 Subject: [MonoDevelop] Problem making MonoDevelop Message-ID: <1074202671.3222.1.camel@nkotb> Hi guys, Every time i restart my machine and do a make run in monodevelop (i.e. make run in a new console), I get the following error message: Cannot find mozilla installation directory. Please set MOZILLA_FIVE_HOME to your mozilla directory Which i fix with declare -x MOZILLA_FIVE_HOME=/usr/lib/mozilla But I would like to know how to fix this issue permanently, and indeed why it has only started asking me for this environment variable since changing to the new anon svn ? Regards, JBA From jluke@users.sourceforge.net Thu Jan 15 21:35:09 2004 From: jluke@users.sourceforge.net (John Luke) Date: Thu, 15 Jan 2004 16:35:09 -0500 Subject: [MonoDevelop] ideas In-Reply-To: <1074198471.2867.18.camel@spongebob.www.ebizitpa.local> References: <1074127427.1242.10.camel@proton> <1074198471.2867.18.camel@spongebob.www.ebizitpa.local> Message-ID: <1074202508.1324.33.camel@shark.jluke.com> On Thu, 2004-01-15 at 15:27 -0500, Casey Winans wrote: > > 1) I know that originally I has said we would be maintaining Windows > > compatibility at all times, but having since thought about this, is > > there really a point? Windows already has VS.NET and the original #D, > > why would this be something that people feel is useful? > > The way I understand it after reading much of the SharpDevelop teams > book a while back is that most everything is written utilizing > interfaces so large pieces of the tool can be replaced later with a > better implementation if one becomes available. > > We could set up a committee to adapt current interfaces and propose new > ones so that both teams are happy and a large chunk of the code can be > shared. As well as ensuring project files are compatible, etc... > I think there may be somewhat of a misunderstanding here, and since we haven't decided yet what I'm about to say may be wrong as well. When we say use Gnome/Linux features this is actually a relatively small part of the codebase. Much of it can continue to be shared very easily between the projects. So its really a choice of implementing our specific parts with Gtk only, or more deeper with Gnome, etc. The SharpDevelop team really did do a great job not tying the whole thing in to SWF and Windows-isms. If any of them are here, I say thank you. We don't plan on being uncooperative here. If sharing fixes becomes a problem, we can solve it but for now I don't think it will be. From jluke@users.sourceforge.net Thu Jan 15 22:38:54 2004 From: jluke@users.sourceforge.net (John Luke) Date: Thu, 15 Jan 2004 17:38:54 -0500 Subject: [MonoDevelop] Problem making MonoDevelop In-Reply-To: <1074202671.3222.1.camel@nkotb> References: <1074202671.3222.1.camel@nkotb> Message-ID: <1074206334.1324.37.camel@shark.jluke.com> On Fri, 2004-01-16 at 08:37 +1100, John BouAntoun wrote: > Hi guys, > > Every time i restart my machine and do a make run in monodevelop (i.e. > make run in a new console), I get the following error message: > > Cannot find mozilla installation directory. Please set MOZILLA_FIVE_HOME > to your mozilla directory > > Which i fix with > > declare -x MOZILLA_FIVE_HOME=/usr/lib/mozilla > > But I would like to know how to fix this issue permanently, and indeed > why it has only started asking me for this environment variable since > changing to the new anon svn ? > > Regards, It is required by Mozilla, which we use to display HTML. You could add that to your ~/.bashrc or ~/.bash_profile to make it more permanent. The monodevelop script attempts to set that automatically, does it work if you run ./monodevelop? From dfal@terra.com.br Thu Jan 15 23:50:53 2004 From: dfal@terra.com.br (Daniel Alves) Date: Thu, 15 Jan 2004 21:50:53 -0200 Subject: [MonoDevelop] Unhandled Exception on create/open project Message-ID: <1074210653.7117.7.camel@sekhmet.linuxpt.gnu> MonoDevelop just freezes whenever I try to open or create a project, on the console it gives this following output: opening: /home/dfa/files/develop/mono/Teste01/MyWindow.cs SET FORMATTER : CSharpBinding.FormattingStrategy.CSharpFormattingStrategy System.TypeInitializationException: An exception was thrown by the type initializer for ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression ---> System.ArgumentException: An invalid argument was specified. in (unmanaged) /usr/local/lib/libmono.so.0(mono_raise_exception+0x1f) [0x40090fef] in (unmanaged) /usr/local/lib/libmono.so.0 [0x400c0586] in <0x00028> (wrapper managed-to-native) System.Globalization.CultureInfo:construct_internal_locale (string) in [0x00040] (at /tmp/snapshot/20040115/mcs/class/corlib/System.Globalization/CultureInfo.cs:1421) System.Globalization.CultureInfo:Construct (int,string,bool) in [0x00037] (at /tmp/snapshot/20040115/mcs/class/corlib/System.Globalization/CultureInfo.cs:1481) System.Globalization.CultureInfo:.ctor (string,bool) in <0x0002a> ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression:.cctor () --- End of inner exception stack trace --- in (unmanaged) ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression:.ctor (object,string) in [0x00285] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1749) ICSharpCode.SharpRefactory.Parser.Parser:PrimaryExpr (ICSharpCode.SharpRefactory.Parser.AST.Expression&) in [0x0017b] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1725) ICSharpCode.SharpRefactory.Parser.Parser:UnaryExpr (ICSharpCode.SharpRefactory.Parser.AST.Expression&) in [0x00009] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1689) ICSharpCode.SharpRefactory.Parser.Parser:Expr (ICSharpCode.SharpRefactory.Parser.AST.Expression&) in [0x00097] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1680) ICSharpCode.SharpRefactory.Parser.Parser:StatementExpr (ICSharpCode.SharpRefactory.Parser.AST.Statement&) in [0x000e7] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1505) ICSharpCode.SharpRefactory.Parser.Parser:EmbeddedStatement (ICSharpCode.SharpRefactory.Parser.AST.Statement&) in [0x0016c] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1482) ICSharpCode.SharpRefactory.Parser.Parser:Statement () in [0x00031] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1344) ICSharpCode.SharpRefactory.Parser.Parser:Block (ICSharpCode.SharpRefactory.Parser.AST.Statement&) in [0x00490] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1049) ICSharpCode.SharpRefactory.Parser.Parser:StructMemberDecl (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) in [0x00012] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1158) ICSharpCode.SharpRefactory.Parser.Parser:ClassMemberDecl (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) in [0x0005d] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:779) ICSharpCode.SharpRefactory.Parser.Parser:ClassBody () in [0x000b5] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:686) ICSharpCode.SharpRefactory.Parser.Parser:TypeDecl (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) in [0x0013d] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:666) ICSharpCode.SharpRefactory.Parser.Parser:NamespaceMemberDecl () in [0x00044] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:525) ICSharpCode.SharpRefactory.Parser.Parser:CS () in [0x00032] (at /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1950) ICSharpCode.SharpRefactory.Parser.Parser:Parse (ICSharpCode.SharpRefactory.Parser.Lexer) in [0x00012] (at /usr/local/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs:42) CSharpBinding.Parser.TParser:Parse (string,string) in [0x000eb] (at /usr/local/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs:540) ICSharpCode.SharpDevelop.Services.DefaultParserService:ParseFile (string,string) in [0x000b9] (at /usr/local/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs:395) ICSharpCode.SharpDevelop.Services.DefaultParserService:ParserUpdateThread () This ony happens when oppening certain files, while opening others the code shows without any problem. In this case, the Main.cs project file opens without any problem but this MyWindow.cs always makes it raise that exception and freezes the whole thing up. I'm using the daily snapshot tarball for 15 jan 2004. Thanks for the patiance, Daniel Alves From tberman@gentoo.org Fri Jan 16 01:46:18 2004 From: tberman@gentoo.org (Todd Berman) Date: Thu, 15 Jan 2004 20:46:18 -0500 Subject: [MonoDevelop] Unhandled Exception on create/open project In-Reply-To: <1074210653.7117.7.camel@sekhmet.linuxpt.gnu> References: <1074210653.7117.7.camel@sekhmet.linuxpt.gnu> Message-ID: <1074217578.1218.0.camel@proton> As it turns out, right now you need to have ICU installed for MonoDevelop to function properly, that should fix this issue. --Todd On Thu, 2004-01-15 at 18:50, Daniel Alves wrote: > MonoDevelop just freezes whenever I try to open or create a project, on > the console it gives this following output: > > opening: /home/dfa/files/develop/mono/Teste01/MyWindow.cs > SET FORMATTER : > CSharpBinding.FormattingStrategy.CSharpFormattingStrategy > System.TypeInitializationException: An exception was thrown by the type > initializer for > ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression ---> > System.ArgumentException: An invalid argument was specified. > in (unmanaged) /usr/local/lib/libmono.so.0(mono_raise_exception+0x1f) > [0x40090fef] > in (unmanaged) /usr/local/lib/libmono.so.0 [0x400c0586] > in <0x00028> (wrapper managed-to-native) > System.Globalization.CultureInfo:construct_internal_locale (string) > in [0x00040] (at > /tmp/snapshot/20040115/mcs/class/corlib/System.Globalization/CultureInfo.cs:1421) System.Globalization.CultureInfo:Construct (int,string,bool) > in [0x00037] (at > /tmp/snapshot/20040115/mcs/class/corlib/System.Globalization/CultureInfo.cs:1481) System.Globalization.CultureInfo:.ctor (string,bool) > in <0x0002a> > ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression:.cctor () > --- End of inner exception stack trace --- > > in (unmanaged) > ICSharpCode.SharpRefactory.Parser.AST.PrimitiveExpression:.ctor > (object,string) > in [0x00285] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1749) > ICSharpCode.SharpRefactory.Parser.Parser:PrimaryExpr > (ICSharpCode.SharpRefactory.Parser.AST.Expression&) > in [0x0017b] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1725) > ICSharpCode.SharpRefactory.Parser.Parser:UnaryExpr > (ICSharpCode.SharpRefactory.Parser.AST.Expression&) > in [0x00009] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1689) > ICSharpCode.SharpRefactory.Parser.Parser:Expr > (ICSharpCode.SharpRefactory.Parser.AST.Expression&) > in [0x00097] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1680) > ICSharpCode.SharpRefactory.Parser.Parser:StatementExpr > (ICSharpCode.SharpRefactory.Parser.AST.Statement&) > in [0x000e7] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1505) > ICSharpCode.SharpRefactory.Parser.Parser:EmbeddedStatement > (ICSharpCode.SharpRefactory.Parser.AST.Statement&) > in [0x0016c] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1482) > ICSharpCode.SharpRefactory.Parser.Parser:Statement () > in [0x00031] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1344) > ICSharpCode.SharpRefactory.Parser.Parser:Block > (ICSharpCode.SharpRefactory.Parser.AST.Statement&) > in [0x00490] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1049) > ICSharpCode.SharpRefactory.Parser.Parser:StructMemberDecl > (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) > in [0x00012] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1158) > ICSharpCode.SharpRefactory.Parser.Parser:ClassMemberDecl > (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) > in [0x0005d] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:779) > ICSharpCode.SharpRefactory.Parser.Parser:ClassBody () > in [0x000b5] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:686) > ICSharpCode.SharpRefactory.Parser.Parser:TypeDecl > (ICSharpCode.SharpRefactory.Parser.Modifiers,System.Collections.ArrayList) > in [0x0013d] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:666) > ICSharpCode.SharpRefactory.Parser.Parser:NamespaceMemberDecl () > in [0x00044] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:525) > ICSharpCode.SharpRefactory.Parser.Parser:CS () > in [0x00032] (at > /usr/local/MonoDevelop/src/Libraries/SharpRefactory/cs.ATG:1950) > ICSharpCode.SharpRefactory.Parser.Parser:Parse > (ICSharpCode.SharpRefactory.Parser.Lexer) > in [0x00012] (at > /usr/local/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs:42) CSharpBinding.Parser.TParser:Parse (string,string) > in [0x000eb] (at > /usr/local/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs:540) ICSharpCode.SharpDevelop.Services.DefaultParserService:ParseFile (string,string) > in [0x000b9] (at > /usr/local/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs:395) ICSharpCode.SharpDevelop.Services.DefaultParserService:ParserUpdateThread () > > This ony happens when oppening certain files, while opening others the > code shows without any problem. In this case, the Main.cs project file > opens without any problem but this MyWindow.cs always makes it raise > that exception and freezes the whole thing up. > > I'm using the daily snapshot tarball for 15 jan 2004. > > Thanks for the patiance, Daniel Alves > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From casey@cwinans.com Fri Jan 16 14:56:41 2004 From: casey@cwinans.com (Casey Winans) Date: Fri, 16 Jan 2004 09:56:41 -0500 Subject: [MonoDevelop] gtkmozembed-sharp build issues... Message-ID: <1074265001.2867.39.camel@spongebob.www.ebizitpa.local> I've been trying to build MonoDevelop since right after Todd posted the link to the anonymous subversion repository. I've gotten all prerequisites built except gtkmozembed-sharp. I've grabbed it from mono cvs and when I run it I get: No rule to make target 'gtkmozembed-api.xml', needed by 'generated-stamp' I see that gtkmozembed-api.xml exists within the api/ folder but I've had no luck updating the Makefile to use it or create an empty target for it... has anyone else had this and if so how did you overcome it? Casey Winans From marco.canini@fastwebnet.it Fri Jan 16 15:06:54 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Fri, 16 Jan 2004 16:06:54 +0100 Subject: [MonoDevelop] gtkmozembed-sharp build issues... In-Reply-To: <1074265001.2867.39.camel@spongebob.www.ebizitpa.local> References: <1074265001.2867.39.camel@spongebob.www.ebizitpa.local> Message-ID: <1074265614.816.16.camel@debian> Right, I did the same, then I read again the message and noticed that the gtkmozembed-sharp is included in MonoDevelop repository. Use that version. On Fri, 2004-01-16 at 15:56, Casey Winans wrote: > I've been trying to build MonoDevelop since right after Todd posted the > link to the anonymous subversion repository. > > I've gotten all prerequisites built except gtkmozembed-sharp. I've > grabbed it from mono cvs and when I run it I get: > > No rule to make target 'gtkmozembed-api.xml', needed by > 'generated-stamp' > > > I see that gtkmozembed-api.xml exists within the api/ folder but I've > had no luck updating the Makefile to use it or create an empty target > for it... has anyone else had this and if so how did you overcome it? > > Casey Winans > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list -- Marco Canini From casey@cwinans.com Mon Jan 19 19:19:54 2004 From: casey@cwinans.com (Casey Winans) Date: Mon, 19 Jan 2004 14:19:54 -0500 Subject: [MonoDevelop] CompletionWindow.cs build patch Message-ID: <1074539994.2090.10.camel@spongebob.www.ebizitpa.local> --=-Ody7ixzU4ckwgvdzqclE Content-Type: text/plain Content-Transfer-Encoding: 7bit I was having issues build the latest revision (currently at 571). I've patched MonoDevelop/src/Libraries/ICSharpCode.TextEditor/src/Gui/CompletionWindow/CompletionWindow.cs in order to get the TextEditor to build. If this is not the optimal solution please let me know, because I'm just learning the Gtk API now and it's quite foreign to me at the moment. -- Casey Winans --=-Ody7ixzU4ckwgvdzqclE Content-Disposition: attachment; filename=MonoDevelop-CompletionWindow-20040119.diff Content-Type: text/x-patch; name=MonoDevelop-CompletionWindow-20040119.diff; charset=UTF-8 Content-Transfer-Encoding: 7bit Index: src/Libraries/ICSharpCode.TextEditor/src/Gui/CompletionWindow/CompletionWindow.cs =================================================================== --- src/Libraries/ICSharpCode.TextEditor/src/Gui/CompletionWindow/CompletionWindow.cs (revision 571) +++ src/Libraries/ICSharpCode.TextEditor/src/Gui/CompletionWindow/CompletionWindow.cs (working copy) @@ -295,7 +295,7 @@ Gtk.TreePath path = store.GetPath (iter); Gdk.Rectangle rect; - rect = listView.GetCellArea (path, (Gtk.TreeViewColumn)listView.Columns[0]); + listView.GetCellArea (path, (Gtk.TreeViewColumn)listView.Columns[0], out rect); int x, y; listView.TreeToWidgetCoords (rect.x, rect.y, out x, out y); --=-Ody7ixzU4ckwgvdzqclE-- From tberman@sevenl.net Mon Jan 19 19:25:49 2004 From: tberman@sevenl.net (Todd Berman) Date: Mon, 19 Jan 2004 14:25:49 -0500 Subject: [MonoDevelop] CompletionWindow.cs build patch In-Reply-To: <1074539994.2090.10.camel@spongebob.www.ebizitpa.local> References: <1074539994.2090.10.camel@spongebob.www.ebizitpa.local> Message-ID: <1074540349.1565.7.camel@proton> You need to update gtk-sharp from cvs again :) Generally, if you have build issues in GUI based code, I would attempt a gtk-sharp update. --Todd On Mon, 2004-01-19 at 14:19, Casey Winans wrote: > I was having issues build the latest revision (currently at 571). I've > patched > MonoDevelop/src/Libraries/ICSharpCode.TextEditor/src/Gui/CompletionWindow/CompletionWindow.cs in order to get the TextEditor to build. > > If this is not the optimal solution please let me know, because I'm just > learning the Gtk API now and it's quite foreign to me at the moment. From tberman@sevenl.net Sat Jan 17 06:02:35 2004 From: tberman@sevenl.net (Todd Berman) Date: Sat, 17 Jan 2004 01:02:35 -0500 Subject: [MonoDevelop] Another gotcha Message-ID: <1074319355.1441.19.camel@proton> well, it seems that without ICU installed, running monodevelop is about as useful as running into a wall. repeatedly. We are working on a more permanent fix than just saying 'Install ICU' but for now: Install ICU. You will most likely have to rebuild mono after installing. make sure you re ./configure and it shows up properly. --Todd From jbafactor@optusnet.com.au Sat Jan 17 07:14:18 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Sat, 17 Jan 2004 18:14:18 +1100 Subject: [MonoDevelop] Re: External Tool Option Panel In-Reply-To: <1074323537.5073.1.camel@nkotb> References: <1074323537.5073.1.camel@nkotb> Message-ID: <1074323658.5073.4.camel@nkotb> --=-JyEV6cYwQbiOOuWFRJKm Content-Type: text/plain Content-Transfer-Encoding: 7bit Guys, here's the diff file for the external tools option panel. It took me a while to do cause I had to learn Treeview/ListStore. Two poitns to note: - Still need to fix popup menus, when MenuService is done - It doesn't allow multiselect because I keep getting a NullReference Exception on TreeSelection.GetSelectedRows()[index]; here it is. jba P.S. Copied todd cause mailing list seem down --=-JyEV6cYwQbiOOuWFRJKm Content-Disposition: attachment; filename=externaltoolpanel-patch.diff Content-Type: text/x-patch; name=externaltoolpanel-patch.diff; charset=UTF-8 Content-Transfer-Encoding: 8bit Index: src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs =================================================================== --- src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (revision 511) +++ src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (working copy) @@ -1,267 +1,426 @@ -// -// -// -// -// -// - -using System; -using System.IO; -using System.Collections; -using System.Windows.Forms; - -using ICSharpCode.SharpDevelop.Internal.ExternalTool; -using ICSharpCode.Core.Properties; -using ICSharpCode.Core.Services; -using ICSharpCode.Core.AddIns.Codons; - -namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels -{/* - public class ExternalToolPane : AbstractOptionPanel - { - - static string[,] argumentQuickInsertMenu = new string[,] { - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemPath}", "${ItemPath}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemFileName}", "${ItemFileName}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemExtension}", "${ItemExt}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentLine}", "${CurLine}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentColumn}", "${CurCol}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentText}", "${CurText}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullTargetPath}", "${TargetPath}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetExtension}", "${TargetExt}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectFileName}", "${ProjectFileName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineFileName}", "${CombineFileName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, - }; - - static string[,] workingDirInsertMenu = new string[,] { - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, - }; - - // these are the control names which are enabled/disabled depending if tool is selected - static string[] dependendControlNames = new string[] { - "titleTextBox", "commandTextBox", "argumentTextBox", - "workingDirTextBox", "promptArgsCheckBox", "useOutputPadCheckBox", - "titleLabel", "argumentLabel", "commandLabel", - "workingDirLabel", "browseButton", "argumentQuickInsertButton", - "workingDirQuickInsertButton", "moveUpButton", "moveDownButton" - }; - - public override void LoadPanelContents() - { - SetupFromXml(Path.Combine(PropertyService.DataDirectory, - @"resources\panels\ExternalToolOptions.xfrm")); - - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - foreach (object o in ToolLoader.Tool) { - ((ListBox)ControlDictionary["toolListBox"]).Items.Add(o); - } - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - - MenuService.CreateQuickInsertMenu((TextBox)ControlDictionary["argumentTextBox"], - ControlDictionary["argumentQuickInsertButton"], - argumentQuickInsertMenu); - - MenuService.CreateQuickInsertMenu((TextBox)ControlDictionary["workingDirTextBox"], - ControlDictionary["workingDirQuickInsertButton"], - workingDirInsertMenu); - - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - ControlDictionary["removeButton"].Click += new EventHandler(removeEvent); - ControlDictionary["addButton"].Click += new EventHandler(addEvent); - ControlDictionary["moveUpButton"].Click += new EventHandler(moveUpEvent); - ControlDictionary["moveDownButton"].Click += new EventHandler(moveDownEvent); - - ControlDictionary["browseButton"].Click += new EventHandler(browseEvent); - - - selectEvent(this, EventArgs.Empty); - } - - void browseEvent(object sender, EventArgs e) - { - using (OpenFileDialog fdiag = new OpenFileDialog()) { - fdiag.CheckFileExists = true; - fdiag.Filter = StringParserService.Parse("${res:SharpDevelop.FileFilter.ExecutableFiles}|*.exe;*.com;*.pif;*.bat;*.cmd|${res:SharpDevelop.FileFilter.AllFiles}|*.*"); - - if (fdiag.ShowDialog() == DialogResult.OK) { - ControlDictionary["commandTextBox"].Text = fdiag.FileName; - } - } - } - - - void moveUpEvent(object sender, EventArgs e) - { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - if (index > 0) { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - try { - object tmp = ((ListBox)ControlDictionary["toolListBox"]).Items[index - 1]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index - 1] = ((ListBox)ControlDictionary["toolListBox"]).Items[index]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index] = tmp; - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index, false); - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index - 1, true); - } finally { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - } - } - - } - void moveDownEvent(object sender, EventArgs e) - { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - if (index >= 0 && index < ((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1) { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - try { - object tmp = ((ListBox)ControlDictionary["toolListBox"]).Items[index + 1]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index + 1] = ((ListBox)ControlDictionary["toolListBox"]).Items[index]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index] = tmp; - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index, false); - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index + 1, true); - } finally { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - } - } - } - - public override bool StorePanelContents() - { - ArrayList newlist = new ArrayList(); - foreach (ExternalTool tool in ((ListBox)ControlDictionary["toolListBox"]).Items) { - if (!FileUtilityService.IsValidFileName(tool.Command)) { - MessageService.ShowError(String.Format("The command of tool \"{0}\" is invalid.", tool.MenuCommand)); - return false; - } - if ((tool.InitialDirectory != "") && (!FileUtilityService.IsValidFileName(tool.InitialDirectory))) { - MessageService.ShowError(String.Format("The working directory of tool \"{0}\" is invalid.", tool.MenuCommand)); - return false; - } - newlist.Add(tool); - } - - ToolLoader.Tool = newlist; - ToolLoader.SaveTools(); - return true; - } - - void propertyValueChanged(object sender, PropertyValueChangedEventArgs e) - { - foreach (ListViewItem item in ((ListView)ControlDictionary["toolListView"]).Items) { - if (item.Tag != null) { - item.Text = item.Tag.ToString(); - } - } - - } - - void setToolValues(object sender, EventArgs e) - { - ExternalTool selectedItem = ((ListBox)ControlDictionary["toolListBox"]).SelectedItem as ExternalTool; - - selectedItem.MenuCommand = ControlDictionary["titleTextBox"].Text; - selectedItem.Command = ControlDictionary["commandTextBox"].Text; - selectedItem.Arguments = ControlDictionary["argumentTextBox"].Text; - selectedItem.InitialDirectory = ControlDictionary["workingDirTextBox"].Text; - selectedItem.PromptForArguments = ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked; - selectedItem.UseOutputPad = ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked; - } - - void selectEvent(object sender, EventArgs e) - { - SetEnabledStatus(((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count > 0, "removeButton"); - - ControlDictionary["titleTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["commandTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["argumentTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["workingDirTextBox"].TextChanged -= new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).CheckedChanged -= new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).CheckedChanged -= new EventHandler(setToolValues); - - if (((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count == 1) { - ExternalTool selectedItem = ((ListBox)ControlDictionary["toolListBox"]).SelectedItem as ExternalTool; - SetEnabledStatus(true, dependendControlNames); - ControlDictionary["titleTextBox"].Text = selectedItem.MenuCommand; - ControlDictionary["commandTextBox"].Text = selectedItem.Command; - ControlDictionary["argumentTextBox"].Text = selectedItem.Arguments; - ControlDictionary["workingDirTextBox"].Text = selectedItem.InitialDirectory; - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked = selectedItem.PromptForArguments; - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked = selectedItem.UseOutputPad; - } else { - SetEnabledStatus(false, dependendControlNames); - - ControlDictionary["titleTextBox"].Text = String.Empty; - ControlDictionary["commandTextBox"].Text = String.Empty; - ControlDictionary["argumentTextBox"].Text = String.Empty; - ControlDictionary["workingDirTextBox"].Text = String.Empty; - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked = false; - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked = false; - } - - ControlDictionary["titleTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["commandTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["argumentTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["workingDirTextBox"].TextChanged += new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).CheckedChanged += new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).CheckedChanged += new EventHandler(setToolValues); - } - - void removeEvent(object sender, EventArgs e) - { - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - object[] selectedItems = new object[((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count]; - ((ListBox)ControlDictionary["toolListBox"]).SelectedItems.CopyTo(selectedItems, 0); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - foreach (object item in selectedItems) { - ((ListBox)ControlDictionary["toolListBox"]).Items.Remove(item); - } - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - if (((ListBox)ControlDictionary["toolListBox"]).Items.Count == 0) { - selectEvent(this, EventArgs.Empty); - } else { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex = Math.Min(index,((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1); - } - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - } - - void addEvent(object sender, EventArgs e) - { - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - ((ListBox)ControlDictionary["toolListBox"]).Items.Add(new ExternalTool()); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - ((ListBox)ControlDictionary["toolListBox"]).ClearSelected(); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex = ((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1; - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - } - }*/ -} +// +// +// +// +// +// + +using System; +using System.IO; +using System.Collections; +using Gtk; + +using ICSharpCode.SharpDevelop.Internal.ExternalTool; +using ICSharpCode.Core.Properties; +using ICSharpCode.Core.Services; +using ICSharpCode.Core.AddIns.Codons; + +namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels +{ + public class ExternalToolPane : AbstractOptionPanel + { + + static string[,] argumentQuickInsertMenu = new string[,] { + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemPath}", "${ItemPath}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemFileName}", "${ItemFileName}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemExtension}", "${ItemExt}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentLine}", "${CurLine}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentColumn}", "${CurCol}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentText}", "${CurText}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullTargetPath}", "${TargetPath}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetExtension}", "${TargetExt}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectFileName}", "${ProjectFileName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineFileName}", "${CombineFileName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, + }; + + static string[,] workingDirInsertMenu = new string[,] { + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, + }; + + // gtk controls + ListStore toolListBoxStore; + TreeView toolListBox; + Entry titleTextBox; + Entry commandTextBox; + Entry argumentTextBox; + Entry workingDirTextBox; + CheckButton promptArgsCheckBox; + CheckButton useOutputPadCheckBox; + Label titleLabel; + Label argumentLabel; + Label commandLabel; + Label workingDirLabel; + Button browseButton; + Button argumentQuickInsertButton; + Button workingDirQuickInsertButton; + Button moveUpButton; + Button moveDownButton; + Button addButton; + Button removeButton; + + // these are the control names which are enabled/disabled depending if tool is selected + Widget[] dependendControls; + + // needed for treeview listbox + int toolListBoxItemCount = 0; + + // Services + FileUtilityService FileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService)); + StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); + PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService)); + MessageService MessageService = (MessageService)ServiceManager.Services.GetService(typeof(MessageService)); +// FIXME: when menu service is created +// MenuService MenuService = (MenuService)ServiceManager.Services.GetService(typeof(MenuService)); + + public override void LoadPanelContents() + { + // set up the form controls instance + SetupPanelInstance(); + + // add each tool to the treeStore + foreach (object o in ToolLoader.Tool) { + toolListBoxStore.AppendValues(((ExternalTool)o).MenuCommand, (ExternalTool) o); + toolListBoxItemCount ++; + } + + toolListBox.Reorderable = false; + toolListBox.HeadersVisible = true; + //toolListBox.Selection.Mode = SelectionMode.Multiple; + toolListBox.Model = toolListBoxStore; + + toolListBox.AppendColumn ( + StringParserService.Parse("${res:Dialog.Options.ExternalTool.ToolsLabel}"), + new CellRendererText (), + "text", + 0); + + +// FIXME: when menu service is created +// MenuService.CreateQuickInsertMenu(argumentTextBox, +// argumentQuickInsertButton, +// argumentQuickInsertMenu); + +// FIXME: when menu service is created +// MenuService.CreateQuickInsertMenu(workingDirTextBox, +// workingDirQuickInsertButton, +// workingDirInsertMenu); + + toolListBox.Selection.Changed += new EventHandler(selectEvent); + + removeButton.Clicked += new EventHandler(removeEvent); + addButton.Clicked += new EventHandler(addEvent); + moveUpButton.Clicked += new EventHandler(moveUpEvent); + moveDownButton.Clicked += new EventHandler(moveDownEvent); + + browseButton.Clicked += new EventHandler(browseEvent); + + selectEvent(this, EventArgs.Empty); + } + + public override bool StorePanelContents() + { + ArrayList newlist = new ArrayList(); + TreeIter first; + + if(toolListBox.Model.GetIterFirst(out first)) + { + TreeIter current = first; + + do { + // loop through items in the tree + + ExternalTool tool = toolListBox.Model.GetValue(current, 1) as ExternalTool; + if (!FileUtilityService.IsValidFileName(tool.Command)) { + MessageService.ShowError(String.Format("The command of tool \"{0}\" is invalid.", tool.MenuCommand)); + return false; + } + if ((tool.InitialDirectory != "") && (!FileUtilityService.IsValidFileName(tool.InitialDirectory))) { + MessageService.ShowError(String.Format("The working directory of tool \"{0}\" is invalid.", tool.MenuCommand)); + return false; + } + newlist.Add(tool); + } while(toolListBox.Model.IterNext(out current)); + } + ToolLoader.Tool = newlist; + ToolLoader.SaveTools(); + return true; + } + + void SetupPanelInstance() + { + // instantiate controls + toolListBoxStore = new ListStore(typeof(string), typeof(ExternalTool)); + toolListBox = new TreeView(); + toolListBox.SetSizeRequest(200, 150); + titleTextBox = new Entry(); + commandTextBox = new Entry(); + argumentTextBox = new Entry(); + workingDirTextBox = new Entry(); + promptArgsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.ExternalTool.PromptForArgsCheckBox}")); + useOutputPadCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.ExternalTool.UseOutputWindow}")); + titleLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.TitleLabel}")); + argumentLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.ArgumentLabel}")); + commandLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.CommandLabel}")); + workingDirLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.WorkingDirLabel}")); + browseButton = new Button("..."); + argumentQuickInsertButton = new Button(">"); + workingDirQuickInsertButton = new Button(">"); + moveUpButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveUpButton}")); + moveDownButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveDownButton}")); + removeButton = new Button(StringParserService.Parse("${res:Global.RemoveButtonText}")); + addButton = new Button(StringParserService.Parse("${res:Global.AddButtonText}")); + + dependendControls = new Widget[] { + titleTextBox, commandTextBox, argumentTextBox, + workingDirTextBox, promptArgsCheckBox, useOutputPadCheckBox, + titleLabel, argumentLabel, commandLabel, + workingDirLabel, browseButton, argumentQuickInsertButton, + workingDirQuickInsertButton, moveUpButton, moveDownButton + }; + + // pack all the controls + VBox vBox1 = new VBox(false, 2); + vBox1.PackStart(addButton, false, false, 2); + vBox1.PackStart(removeButton, false, false, 2); + vBox1.PackStart(moveUpButton, false, false, 2); + vBox1.PackStart(moveDownButton, false, false, 2); + + HBox hBox1 = new HBox(false, 2); + hBox1.PackStart(toolListBox, false, false, 2); + hBox1.PackStart(vBox1, false, false, 2); + + Table table1 = new Table(4, 3, false); + table1.Attach(titleLabel, 0, 1, 0, 1); + table1.Attach(titleTextBox, 1, 3, 0, 1); + table1.Attach(commandLabel, 0, 1, 1, 2); + table1.Attach(commandTextBox, 1, 2, 1, 2); + table1.Attach(browseButton, 2, 3, 1, 2); + table1.Attach(argumentLabel, 0, 1, 2, 3); + table1.Attach(argumentTextBox, 1, 2, 2, 3); + table1.Attach(argumentQuickInsertButton, 2, 3, 2, 3); + table1.Attach(workingDirLabel, 0, 1, 3, 4); + table1.Attach(workingDirTextBox, 1, 2, 3, 4); + table1.Attach(workingDirQuickInsertButton, 2, 3, 3, 4); + + VBox mainBox = new VBox(false, 2); + mainBox.PackStart(hBox1, false, false, 2); + mainBox.PackStart(table1, false, false, 2); + mainBox.PackStart(promptArgsCheckBox, false, false, 2); + mainBox.PackStart(useOutputPadCheckBox, false, false, 2); + this.Add(mainBox); + } + + void browseEvent(object sender, EventArgs e) + { + Gtk.FileSelection fs = new Gtk.FileSelection ("File to Open"); + int response = fs.Run (); + string name = fs.Filename; + fs.Destroy (); + if (response == (int)Gtk.ResponseType.Ok) { + commandTextBox.Text = name; + } + } + + + void moveUpEvent(object sender, EventArgs e) + { + TreeIter selectedItem; + TreeModel ls; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out ls, out selectedItem)) + { + // we know we have a selected item so get it's index + // use that to get the path of the item before it, and swap the two + int index = GetSelectedIndex(toolListBox); + // only swap if at the top + if(index > 0) + { + TreeIter prev; + if(toolListBox.Model.GetIterFromString(out prev, (index - 1).ToString())) + { + ((ListStore)ls).Swap(selectedItem, prev); + } + } + } + } + void moveDownEvent(object sender, EventArgs e) + { + TreeIter selectedItem; + TreeModel ls; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out ls, out selectedItem)) + { + // swap it with the next one + TreeIter toSwap = selectedItem; + if(ls.IterNext(out toSwap)) + { + ((ListStore)ls).Swap(selectedItem, toSwap); + } + } + } + + void setToolValues(object sender, EventArgs e) + { + TreeIter selectedIter; + TreeModel lv; + ExternalTool selectedItem = null; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out lv, out selectedIter)) + { + // get the value as an external tool object + selectedItem = lv.GetValue(selectedIter, 1) as ExternalTool; + + + lv.SetValue(selectedIter, 0, titleTextBox.Text); + selectedItem.MenuCommand = titleTextBox.Text; + selectedItem.Command = commandTextBox.Text; + selectedItem.Arguments = argumentTextBox.Text; + selectedItem.InitialDirectory = workingDirTextBox.Text; + selectedItem.PromptForArguments = promptArgsCheckBox.Active; + selectedItem.UseOutputPad = useOutputPadCheckBox.Active; + } + } + + void selectEvent(object sender, EventArgs e) + { + SetEnabledStatus(toolListBox.Selection.CountSelectedRows() > 0, removeButton); + + titleTextBox.Changed -= new EventHandler(setToolValues); + commandTextBox.Changed -= new EventHandler(setToolValues); + argumentTextBox.Changed -= new EventHandler(setToolValues); + workingDirTextBox.Changed -= new EventHandler(setToolValues); + promptArgsCheckBox.Toggled -= new EventHandler(setToolValues); + useOutputPadCheckBox.Toggled -= new EventHandler(setToolValues); + + if (toolListBox.Selection.CountSelectedRows() == 1) { + TreeIter selectedIter; + TreeModel ls; + // FIXME: use this line of code when Selection.GetSelectedRows()[index] issue is fixed + //selectedIter = (TreeIter) (toolListBox.Selection.GetSelectedRows(toolListBoxStore)[0]); + toolListBox.Selection.GetSelected(out ls, out selectedIter); + + // get the value as an external tool object + ExternalTool selectedItem = (ExternalTool) toolListBox.Model.GetValue(selectedIter, 1); + + SetEnabledStatus(true, dependendControls); + titleTextBox.Text = selectedItem.MenuCommand; + commandTextBox.Text = selectedItem.Command; + argumentTextBox.Text = selectedItem.Arguments; + workingDirTextBox.Text = selectedItem.InitialDirectory; + promptArgsCheckBox.Active = selectedItem.PromptForArguments; + useOutputPadCheckBox.Active = selectedItem.UseOutputPad; + } else { + SetEnabledStatus(false, dependendControls); + + titleTextBox.Text = String.Empty; + commandTextBox.Text = String.Empty; + argumentTextBox.Text = String.Empty; + workingDirTextBox.Text = String.Empty; + promptArgsCheckBox.Active = false; + useOutputPadCheckBox.Active = false; + } + + titleTextBox.Changed += new EventHandler(setToolValues); + commandTextBox.Changed += new EventHandler(setToolValues); + argumentTextBox.Changed += new EventHandler(setToolValues); + workingDirTextBox.Changed += new EventHandler(setToolValues); + promptArgsCheckBox.Toggled += new EventHandler(setToolValues); + useOutputPadCheckBox.Toggled += new EventHandler(setToolValues); + } + + void removeEvent(object sender, EventArgs e) + { + // FIXME: use this block of code when Selection.GetSelectedRows()[index] issue is fixed + /* + GLib.List selectedItems = (GLib.List) toolListBox.Selection.GetSelectedRows(toolListBoxStore).Clone(); + int maxIndex = selectedItems.Count - 1; + // erase them in reverse order + for(int i= maxIndex; i >= 0; i--) { + TreeIter removeIter = (TreeIter) selectedItems[i]; + ((ListStore) toolListBox.Model).Remove(out removeIter); + toolListBoxItemCount --; + } + if (toolListBoxItemCount == 0) { + selectEvent(this, EventArgs.Empty); + } else { + SetSelectedIndex(toolListBox, Math.Min(index,toolListBoxItemCount - 1)); + } + */ + TreeModel model; + TreeIter iter; + if(toolListBox.Selection.GetSelected(out model, out iter)) { + ((ListStore) model).Remove(out iter); + } + } + + void addEvent(object sender, EventArgs e) + { + TreeIter itr = toolListBoxStore.AppendValues("New Tool", new ExternalTool()); + toolListBoxItemCount ++; + toolListBox.Selection.UnselectAll(); + toolListBox.Selection.SelectIter(itr); + } + + // added this event to get the last select row index from gtk TreeView + int GetSelectedIndex(TreeView tv) + { + TreeModel model; + TreeIter itr; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(tv.Selection.GetSelected(out model, out itr)) + { + // return index of first level node (since only 1 level list model) + return model.GetPath(itr).Indices[0]; + } + else + { + return -1; + } + } + + // added this event to set a specific row as selected from index + void SetSelectedIndex(TreeView tv, int index) + { + //convert index to a path + TreePath path = new TreePath(index.ToString()); + tv.Selection.UnselectAll(); + tv.Selection.SelectPath(path); + } + + // disables or enables (sets sensitivty) a specified array of widgets + public void SetEnabledStatus(bool enabled, params Widget[] controls) + { + foreach (Widget control in controls) { + if (control == null) { + MessageService.ShowError("Control not found!"); + } else { + control.Sensitive = enabled; + } + } + } + } +} --=-JyEV6cYwQbiOOuWFRJKm-- From jbafactor@optusnet.com.au Sat Jan 17 08:13:33 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Sat, 17 Jan 2004 19:13:33 +1100 Subject: [MonoDevelop] CodeGenerationPanel Option Panel still not checked in In-Reply-To: <1073958278.3449.3.camel@nkotb> References: <1073958278.3449.3.camel@nkotb> Message-ID: <1074327213.30511.1.camel@nkotb> --=-Xd1uo/oDptvhekmytd9A Content-Type: text/plain Content-Transfer-Encoding: 7bit Not sure if anyone has noticed, but this panel is still not checked in from anon-svn and I sent it a few days ago. So I thought I'd resend it and jog someone's memory. On Tue, 2004-01-13 at 12:44, John BouAntoun wrote: > 12 minutes this time. > > This one goes in: > > src/Main/Base/Gui/Dialogs/OptionPanels/IDEOptions/CodeGenerationPanel.cs > > somone please review and commit. > > JBA > > P.S. Is the check box string rendering fixed in gtk-sharp yet? > > JBA > > ________________________________________________________________________ > > > > plain text > document > attachment > (CodeGenerationPanel.cs) > > > > --=-Xd1uo/oDptvhekmytd9A Content-Disposition: attachment; filename=CodeGenerationPanel.cs Content-Type: text/plain; name=CodeGenerationPanel.cs; charset=UTF-8 Content-Transfer-Encoding: quoted-printable // // // // // // using System; using System.IO; using System.Drawing; using System.Collections; using ICSharpCode.SharpDevelop.Internal.ExternalTool; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.Core.Properties; using ICSharpCode.SharpDevelop.Gui.Components; using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns; using Gtk; namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels { public class CodeGenerationPanel : AbstractOptionPanel { // Gtk Controls CheckButton generateAdditonalCommentsCheckBox; CheckButton generateDocCommentsCheckBox; CheckButton useFullTypeNamesCheckBox;=20 CheckButton blankLinesBetweenMemberCheckBox; CheckButton elseOnClosingCheckBox; CheckButton startBlockOnTheSameLineCheckBox;=20 =09 // Services StringParserService StringParserService =3D (StringParserService)ServiceM= anager.Services.GetService (typeof (StringParserService)); PropertyService PropertyService =3D (PropertyService)ServiceManager.Servi= ces.GetService (typeof (PropertyService)); static readonly string codeGenerationProperty =3D "SharpDevelop.UI.CodeGe= nerationOptions"; =09 public override void LoadPanelContents() { // set up the form controls instance SetupPanelInstance(); =09 IProperties p =3D (IProperties)PropertyService.GetProperty(codeGeneratio= nProperty, new DefaultProperties()); =09 generateAdditonalCommentsCheckBox.Active =3D p.GetProperty("GenerateAddi= tionalComments", true); generateDocCommentsCheckBox.Active =3D p.GetProperty("GenerateDocu= mentComments", true); useFullTypeNamesCheckBox.Active =3D p.GetProperty("UseFullyQual= ifiedNames", true); =09 blankLinesBetweenMemberCheckBox.Active =3D p.GetProperty("BlankLinesBe= tweenMembers", true); elseOnClosingCheckBox.Active =3D p.GetProperty("ElseOnClosin= g", true); startBlockOnTheSameLineCheckBox.Active =3D p.GetProperty("StartBlockOn= SameLine", true); } =09 public override bool StorePanelContents() { IProperties p =3D (IProperties)PropertyService.GetProperty(codeGeneratio= nProperty, new DefaultProperties()); p.SetProperty("GenerateAdditionalComments", generateAdditonalCommentsChe= ckBox.Active); p.SetProperty("GenerateDocumentComments", generateDocCommentsCheckBox.= Active); p.SetProperty("UseFullyQualifiedNames", useFullTypeNamesCheckBox.Act= ive); p.SetProperty("BlankLinesBetweenMembers", blankLinesBetweenMemberCheck= Box.Active); p.SetProperty("ElseOnClosing", elseOnClosingCheckBox.Active= ); p.SetProperty("StartBlockOnSameLine", startBlockOnTheSameLineCheck= Box.Active); PropertyService.SetProperty(codeGenerationProperty, p); return true; } =09 private void SetupPanelInstance() { // instantiate all the controls in the first group Gtk.Frame frame1 =3D new Gtk.Frame(StringParserService.Parse("${res:Dial= og.Options.IDEOptions.CodeGenerationOptionsPanel.CodeGenerationOptionsGroup= Box}")); Gtk.VBox vBox1 =3D new Gtk.VBox(false,2); =09 useFullTypeNamesCheckBox =3D CheckButton.NewWithLabel(StringParserServic= e.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.UseFull= TypeNamesCheckBox}"));=20 blankLinesBetweenMemberCheckBox =3D CheckButton.NewWithLabel(StringParse= rService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.= BlankLinesBetweenMembersCheckBox}")); elseOnClosingCheckBox =3D CheckButton.NewWithLabel(StringParserService.P= arse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.ElseOnClos= ingCheckBox}")); startBlockOnTheSameLineCheckBox =3D CheckButton.NewWithLabel(StringParse= rService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.= StartBlockOnTheSameLineCheckBox}"));=20 =09 // pack all controls in first group vBox1.PackStart(startBlockOnTheSameLineCheckBox, false, false, 2); vBox1.PackStart(elseOnClosingCheckBox, false, false, 2); vBox1.PackStart(blankLinesBetweenMemberCheckBox, false, false, 2); vBox1.PackStart(useFullTypeNamesCheckBox, false, false, 2); frame1.Add(vBox1); =09 // instantiate all the controls in the second group Gtk.Frame frame2 =3D new Gtk.Frame(StringParserService.Parse("${res:Dial= og.Options.IDEOptions.CodeGenerationOptionsPanel.CommentGenerationOptionsGr= oupBox}")); Gtk.VBox vBox2 =3D new Gtk.VBox(false,2); =09 generateAdditonalCommentsCheckBox =3D CheckButton.NewWithLabel(StringPar= serService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPane= l.GenerateAdditionalCommentsCheckBox}")); generateDocCommentsCheckBox =3D CheckButton.NewWithLabel(StringParserSer= vice.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.Gene= rateDocCommentsCheckBox}")); =09 // pack all controls in second group vBox2.PackStart(generateDocCommentsCheckBox, false, false, 2); vBox2.PackStart(generateAdditonalCommentsCheckBox, false, false, 2); frame2.Add(vBox2); =09 // pack all the groups Gtk.VBox mainBox =3D new Gtk.VBox(false,2); mainBox.PackStart(frame1, false, false, 2); mainBox.PackStart(frame2, false, false, 2); this.Add(mainBox); } } } --=-Xd1uo/oDptvhekmytd9A-- From tc@sonicated.com Mon Jan 19 21:54:29 2004 From: tc@sonicated.com (Tim Coggins) Date: Mon, 19 Jan 2004 21:54:29 +0000 Subject: [MonoDevelop] Another gotcha In-Reply-To: <1074319355.1441.19.camel@proton> References: <1074319355.1441.19.camel@proton> Message-ID: <1074549269.1062.10.camel@acquiesce> On Sat, 2004-01-17 at 06:02, Todd Berman wrote: > well, it seems that without ICU installed, running monodevelop is about > as useful as running into a wall. repeatedly. I know :) > We are working on a more permanent fix than just saying 'Install ICU' > but for now: Install ICU. Has anyone compiled Mono with ICU in Debian? I've got all the ICU packages but the configure script seems to want icu-config which isn't included. I downloaded the source and tried to compile it but it kept failing. Tim From secretsquirrel@optusnet.com.au Sat Jan 17 07:12:17 2004 From: secretsquirrel@optusnet.com.au (John BouAntoun) Date: Sat, 17 Jan 2004 18:12:17 +1100 Subject: [MonoDevelop] External Tool Option Panel Message-ID: <1074323537.5073.1.camel@nkotb> --=-kdsbY0ln67zt+ipaaaXd Content-Type: text/plain Content-Transfer-Encoding: 7bit Guys, here's the diff file for the external tools option panel. It took me a while to do cause I had to learn Treeview/ListStore. Two poitns to note: - Still need to fix popup menus, when MenuService is done - It doesn't allow multiselect because I keep getting a NullReference Exception on TreeSelection.GetSelectedRows()[index]; here it is. jba --=-kdsbY0ln67zt+ipaaaXd Content-Disposition: attachment; filename=externaltoolpanel-patch.diff Content-Type: text/x-patch; name=externaltoolpanel-patch.diff; charset=UTF-8 Content-Transfer-Encoding: 8bit Index: src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs =================================================================== --- src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (revision 511) +++ src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (working copy) @@ -1,267 +1,426 @@ -// -// -// -// -// -// - -using System; -using System.IO; -using System.Collections; -using System.Windows.Forms; - -using ICSharpCode.SharpDevelop.Internal.ExternalTool; -using ICSharpCode.Core.Properties; -using ICSharpCode.Core.Services; -using ICSharpCode.Core.AddIns.Codons; - -namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels -{/* - public class ExternalToolPane : AbstractOptionPanel - { - - static string[,] argumentQuickInsertMenu = new string[,] { - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemPath}", "${ItemPath}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemFileName}", "${ItemFileName}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemExtension}", "${ItemExt}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentLine}", "${CurLine}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentColumn}", "${CurCol}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentText}", "${CurText}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullTargetPath}", "${TargetPath}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetExtension}", "${TargetExt}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectFileName}", "${ProjectFileName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineFileName}", "${CombineFileName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, - }; - - static string[,] workingDirInsertMenu = new string[,] { - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, - {"-", ""}, - {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, - }; - - // these are the control names which are enabled/disabled depending if tool is selected - static string[] dependendControlNames = new string[] { - "titleTextBox", "commandTextBox", "argumentTextBox", - "workingDirTextBox", "promptArgsCheckBox", "useOutputPadCheckBox", - "titleLabel", "argumentLabel", "commandLabel", - "workingDirLabel", "browseButton", "argumentQuickInsertButton", - "workingDirQuickInsertButton", "moveUpButton", "moveDownButton" - }; - - public override void LoadPanelContents() - { - SetupFromXml(Path.Combine(PropertyService.DataDirectory, - @"resources\panels\ExternalToolOptions.xfrm")); - - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - foreach (object o in ToolLoader.Tool) { - ((ListBox)ControlDictionary["toolListBox"]).Items.Add(o); - } - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - - MenuService.CreateQuickInsertMenu((TextBox)ControlDictionary["argumentTextBox"], - ControlDictionary["argumentQuickInsertButton"], - argumentQuickInsertMenu); - - MenuService.CreateQuickInsertMenu((TextBox)ControlDictionary["workingDirTextBox"], - ControlDictionary["workingDirQuickInsertButton"], - workingDirInsertMenu); - - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - ControlDictionary["removeButton"].Click += new EventHandler(removeEvent); - ControlDictionary["addButton"].Click += new EventHandler(addEvent); - ControlDictionary["moveUpButton"].Click += new EventHandler(moveUpEvent); - ControlDictionary["moveDownButton"].Click += new EventHandler(moveDownEvent); - - ControlDictionary["browseButton"].Click += new EventHandler(browseEvent); - - - selectEvent(this, EventArgs.Empty); - } - - void browseEvent(object sender, EventArgs e) - { - using (OpenFileDialog fdiag = new OpenFileDialog()) { - fdiag.CheckFileExists = true; - fdiag.Filter = StringParserService.Parse("${res:SharpDevelop.FileFilter.ExecutableFiles}|*.exe;*.com;*.pif;*.bat;*.cmd|${res:SharpDevelop.FileFilter.AllFiles}|*.*"); - - if (fdiag.ShowDialog() == DialogResult.OK) { - ControlDictionary["commandTextBox"].Text = fdiag.FileName; - } - } - } - - - void moveUpEvent(object sender, EventArgs e) - { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - if (index > 0) { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - try { - object tmp = ((ListBox)ControlDictionary["toolListBox"]).Items[index - 1]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index - 1] = ((ListBox)ControlDictionary["toolListBox"]).Items[index]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index] = tmp; - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index, false); - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index - 1, true); - } finally { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - } - } - - } - void moveDownEvent(object sender, EventArgs e) - { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - if (index >= 0 && index < ((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1) { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - try { - object tmp = ((ListBox)ControlDictionary["toolListBox"]).Items[index + 1]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index + 1] = ((ListBox)ControlDictionary["toolListBox"]).Items[index]; - ((ListBox)ControlDictionary["toolListBox"]).Items[index] = tmp; - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index, false); - ((ListBox)ControlDictionary["toolListBox"]).SetSelected(index + 1, true); - } finally { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - } - } - } - - public override bool StorePanelContents() - { - ArrayList newlist = new ArrayList(); - foreach (ExternalTool tool in ((ListBox)ControlDictionary["toolListBox"]).Items) { - if (!FileUtilityService.IsValidFileName(tool.Command)) { - MessageService.ShowError(String.Format("The command of tool \"{0}\" is invalid.", tool.MenuCommand)); - return false; - } - if ((tool.InitialDirectory != "") && (!FileUtilityService.IsValidFileName(tool.InitialDirectory))) { - MessageService.ShowError(String.Format("The working directory of tool \"{0}\" is invalid.", tool.MenuCommand)); - return false; - } - newlist.Add(tool); - } - - ToolLoader.Tool = newlist; - ToolLoader.SaveTools(); - return true; - } - - void propertyValueChanged(object sender, PropertyValueChangedEventArgs e) - { - foreach (ListViewItem item in ((ListView)ControlDictionary["toolListView"]).Items) { - if (item.Tag != null) { - item.Text = item.Tag.ToString(); - } - } - - } - - void setToolValues(object sender, EventArgs e) - { - ExternalTool selectedItem = ((ListBox)ControlDictionary["toolListBox"]).SelectedItem as ExternalTool; - - selectedItem.MenuCommand = ControlDictionary["titleTextBox"].Text; - selectedItem.Command = ControlDictionary["commandTextBox"].Text; - selectedItem.Arguments = ControlDictionary["argumentTextBox"].Text; - selectedItem.InitialDirectory = ControlDictionary["workingDirTextBox"].Text; - selectedItem.PromptForArguments = ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked; - selectedItem.UseOutputPad = ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked; - } - - void selectEvent(object sender, EventArgs e) - { - SetEnabledStatus(((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count > 0, "removeButton"); - - ControlDictionary["titleTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["commandTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["argumentTextBox"].TextChanged -= new EventHandler(setToolValues); - ControlDictionary["workingDirTextBox"].TextChanged -= new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).CheckedChanged -= new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).CheckedChanged -= new EventHandler(setToolValues); - - if (((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count == 1) { - ExternalTool selectedItem = ((ListBox)ControlDictionary["toolListBox"]).SelectedItem as ExternalTool; - SetEnabledStatus(true, dependendControlNames); - ControlDictionary["titleTextBox"].Text = selectedItem.MenuCommand; - ControlDictionary["commandTextBox"].Text = selectedItem.Command; - ControlDictionary["argumentTextBox"].Text = selectedItem.Arguments; - ControlDictionary["workingDirTextBox"].Text = selectedItem.InitialDirectory; - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked = selectedItem.PromptForArguments; - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked = selectedItem.UseOutputPad; - } else { - SetEnabledStatus(false, dependendControlNames); - - ControlDictionary["titleTextBox"].Text = String.Empty; - ControlDictionary["commandTextBox"].Text = String.Empty; - ControlDictionary["argumentTextBox"].Text = String.Empty; - ControlDictionary["workingDirTextBox"].Text = String.Empty; - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).Checked = false; - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).Checked = false; - } - - ControlDictionary["titleTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["commandTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["argumentTextBox"].TextChanged += new EventHandler(setToolValues); - ControlDictionary["workingDirTextBox"].TextChanged += new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["promptArgsCheckBox"]).CheckedChanged += new EventHandler(setToolValues); - ((CheckBox)ControlDictionary["useOutputPadCheckBox"]).CheckedChanged += new EventHandler(setToolValues); - } - - void removeEvent(object sender, EventArgs e) - { - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - int index = ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex; - object[] selectedItems = new object[((ListBox)ControlDictionary["toolListBox"]).SelectedItems.Count]; - ((ListBox)ControlDictionary["toolListBox"]).SelectedItems.CopyTo(selectedItems, 0); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - foreach (object item in selectedItems) { - ((ListBox)ControlDictionary["toolListBox"]).Items.Remove(item); - } - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - if (((ListBox)ControlDictionary["toolListBox"]).Items.Count == 0) { - selectEvent(this, EventArgs.Empty); - } else { - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex = Math.Min(index,((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1); - } - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - } - - void addEvent(object sender, EventArgs e) - { - ((ListBox)ControlDictionary["toolListBox"]).BeginUpdate(); - try { - ((ListBox)ControlDictionary["toolListBox"]).Items.Add(new ExternalTool()); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged -= new EventHandler(selectEvent); - ((ListBox)ControlDictionary["toolListBox"]).ClearSelected(); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndexChanged += new EventHandler(selectEvent); - ((ListBox)ControlDictionary["toolListBox"]).SelectedIndex = ((ListBox)ControlDictionary["toolListBox"]).Items.Count - 1; - } finally { - ((ListBox)ControlDictionary["toolListBox"]).EndUpdate(); - } - } - }*/ -} +// +// +// +// +// +// + +using System; +using System.IO; +using System.Collections; +using Gtk; + +using ICSharpCode.SharpDevelop.Internal.ExternalTool; +using ICSharpCode.Core.Properties; +using ICSharpCode.Core.Services; +using ICSharpCode.Core.AddIns.Codons; + +namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels +{ + public class ExternalToolPane : AbstractOptionPanel + { + + static string[,] argumentQuickInsertMenu = new string[,] { + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemPath}", "${ItemPath}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemFileName}", "${ItemFileName}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemExtension}", "${ItemExt}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentLine}", "${CurLine}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentColumn}", "${CurCol}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentText}", "${CurText}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullTargetPath}", "${TargetPath}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetExtension}", "${TargetExt}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectFileName}", "${ProjectFileName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineFileName}", "${CombineFileName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, + }; + + static string[,] workingDirInsertMenu = new string[,] { + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, + {"-", ""}, + {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, + }; + + // gtk controls + ListStore toolListBoxStore; + TreeView toolListBox; + Entry titleTextBox; + Entry commandTextBox; + Entry argumentTextBox; + Entry workingDirTextBox; + CheckButton promptArgsCheckBox; + CheckButton useOutputPadCheckBox; + Label titleLabel; + Label argumentLabel; + Label commandLabel; + Label workingDirLabel; + Button browseButton; + Button argumentQuickInsertButton; + Button workingDirQuickInsertButton; + Button moveUpButton; + Button moveDownButton; + Button addButton; + Button removeButton; + + // these are the control names which are enabled/disabled depending if tool is selected + Widget[] dependendControls; + + // needed for treeview listbox + int toolListBoxItemCount = 0; + + // Services + FileUtilityService FileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService)); + StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); + PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService)); + MessageService MessageService = (MessageService)ServiceManager.Services.GetService(typeof(MessageService)); +// FIXME: when menu service is created +// MenuService MenuService = (MenuService)ServiceManager.Services.GetService(typeof(MenuService)); + + public override void LoadPanelContents() + { + // set up the form controls instance + SetupPanelInstance(); + + // add each tool to the treeStore + foreach (object o in ToolLoader.Tool) { + toolListBoxStore.AppendValues(((ExternalTool)o).MenuCommand, (ExternalTool) o); + toolListBoxItemCount ++; + } + + toolListBox.Reorderable = false; + toolListBox.HeadersVisible = true; + //toolListBox.Selection.Mode = SelectionMode.Multiple; + toolListBox.Model = toolListBoxStore; + + toolListBox.AppendColumn ( + StringParserService.Parse("${res:Dialog.Options.ExternalTool.ToolsLabel}"), + new CellRendererText (), + "text", + 0); + + +// FIXME: when menu service is created +// MenuService.CreateQuickInsertMenu(argumentTextBox, +// argumentQuickInsertButton, +// argumentQuickInsertMenu); + +// FIXME: when menu service is created +// MenuService.CreateQuickInsertMenu(workingDirTextBox, +// workingDirQuickInsertButton, +// workingDirInsertMenu); + + toolListBox.Selection.Changed += new EventHandler(selectEvent); + + removeButton.Clicked += new EventHandler(removeEvent); + addButton.Clicked += new EventHandler(addEvent); + moveUpButton.Clicked += new EventHandler(moveUpEvent); + moveDownButton.Clicked += new EventHandler(moveDownEvent); + + browseButton.Clicked += new EventHandler(browseEvent); + + selectEvent(this, EventArgs.Empty); + } + + public override bool StorePanelContents() + { + ArrayList newlist = new ArrayList(); + TreeIter first; + + if(toolListBox.Model.GetIterFirst(out first)) + { + TreeIter current = first; + + do { + // loop through items in the tree + + ExternalTool tool = toolListBox.Model.GetValue(current, 1) as ExternalTool; + if (!FileUtilityService.IsValidFileName(tool.Command)) { + MessageService.ShowError(String.Format("The command of tool \"{0}\" is invalid.", tool.MenuCommand)); + return false; + } + if ((tool.InitialDirectory != "") && (!FileUtilityService.IsValidFileName(tool.InitialDirectory))) { + MessageService.ShowError(String.Format("The working directory of tool \"{0}\" is invalid.", tool.MenuCommand)); + return false; + } + newlist.Add(tool); + } while(toolListBox.Model.IterNext(out current)); + } + ToolLoader.Tool = newlist; + ToolLoader.SaveTools(); + return true; + } + + void SetupPanelInstance() + { + // instantiate controls + toolListBoxStore = new ListStore(typeof(string), typeof(ExternalTool)); + toolListBox = new TreeView(); + toolListBox.SetSizeRequest(200, 150); + titleTextBox = new Entry(); + commandTextBox = new Entry(); + argumentTextBox = new Entry(); + workingDirTextBox = new Entry(); + promptArgsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.ExternalTool.PromptForArgsCheckBox}")); + useOutputPadCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.ExternalTool.UseOutputWindow}")); + titleLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.TitleLabel}")); + argumentLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.ArgumentLabel}")); + commandLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.CommandLabel}")); + workingDirLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.WorkingDirLabel}")); + browseButton = new Button("..."); + argumentQuickInsertButton = new Button(">"); + workingDirQuickInsertButton = new Button(">"); + moveUpButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveUpButton}")); + moveDownButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveDownButton}")); + removeButton = new Button(StringParserService.Parse("${res:Global.RemoveButtonText}")); + addButton = new Button(StringParserService.Parse("${res:Global.AddButtonText}")); + + dependendControls = new Widget[] { + titleTextBox, commandTextBox, argumentTextBox, + workingDirTextBox, promptArgsCheckBox, useOutputPadCheckBox, + titleLabel, argumentLabel, commandLabel, + workingDirLabel, browseButton, argumentQuickInsertButton, + workingDirQuickInsertButton, moveUpButton, moveDownButton + }; + + // pack all the controls + VBox vBox1 = new VBox(false, 2); + vBox1.PackStart(addButton, false, false, 2); + vBox1.PackStart(removeButton, false, false, 2); + vBox1.PackStart(moveUpButton, false, false, 2); + vBox1.PackStart(moveDownButton, false, false, 2); + + HBox hBox1 = new HBox(false, 2); + hBox1.PackStart(toolListBox, false, false, 2); + hBox1.PackStart(vBox1, false, false, 2); + + Table table1 = new Table(4, 3, false); + table1.Attach(titleLabel, 0, 1, 0, 1); + table1.Attach(titleTextBox, 1, 3, 0, 1); + table1.Attach(commandLabel, 0, 1, 1, 2); + table1.Attach(commandTextBox, 1, 2, 1, 2); + table1.Attach(browseButton, 2, 3, 1, 2); + table1.Attach(argumentLabel, 0, 1, 2, 3); + table1.Attach(argumentTextBox, 1, 2, 2, 3); + table1.Attach(argumentQuickInsertButton, 2, 3, 2, 3); + table1.Attach(workingDirLabel, 0, 1, 3, 4); + table1.Attach(workingDirTextBox, 1, 2, 3, 4); + table1.Attach(workingDirQuickInsertButton, 2, 3, 3, 4); + + VBox mainBox = new VBox(false, 2); + mainBox.PackStart(hBox1, false, false, 2); + mainBox.PackStart(table1, false, false, 2); + mainBox.PackStart(promptArgsCheckBox, false, false, 2); + mainBox.PackStart(useOutputPadCheckBox, false, false, 2); + this.Add(mainBox); + } + + void browseEvent(object sender, EventArgs e) + { + Gtk.FileSelection fs = new Gtk.FileSelection ("File to Open"); + int response = fs.Run (); + string name = fs.Filename; + fs.Destroy (); + if (response == (int)Gtk.ResponseType.Ok) { + commandTextBox.Text = name; + } + } + + + void moveUpEvent(object sender, EventArgs e) + { + TreeIter selectedItem; + TreeModel ls; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out ls, out selectedItem)) + { + // we know we have a selected item so get it's index + // use that to get the path of the item before it, and swap the two + int index = GetSelectedIndex(toolListBox); + // only swap if at the top + if(index > 0) + { + TreeIter prev; + if(toolListBox.Model.GetIterFromString(out prev, (index - 1).ToString())) + { + ((ListStore)ls).Swap(selectedItem, prev); + } + } + } + } + void moveDownEvent(object sender, EventArgs e) + { + TreeIter selectedItem; + TreeModel ls; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out ls, out selectedItem)) + { + // swap it with the next one + TreeIter toSwap = selectedItem; + if(ls.IterNext(out toSwap)) + { + ((ListStore)ls).Swap(selectedItem, toSwap); + } + } + } + + void setToolValues(object sender, EventArgs e) + { + TreeIter selectedIter; + TreeModel lv; + ExternalTool selectedItem = null; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(toolListBox.Selection.GetSelected(out lv, out selectedIter)) + { + // get the value as an external tool object + selectedItem = lv.GetValue(selectedIter, 1) as ExternalTool; + + + lv.SetValue(selectedIter, 0, titleTextBox.Text); + selectedItem.MenuCommand = titleTextBox.Text; + selectedItem.Command = commandTextBox.Text; + selectedItem.Arguments = argumentTextBox.Text; + selectedItem.InitialDirectory = workingDirTextBox.Text; + selectedItem.PromptForArguments = promptArgsCheckBox.Active; + selectedItem.UseOutputPad = useOutputPadCheckBox.Active; + } + } + + void selectEvent(object sender, EventArgs e) + { + SetEnabledStatus(toolListBox.Selection.CountSelectedRows() > 0, removeButton); + + titleTextBox.Changed -= new EventHandler(setToolValues); + commandTextBox.Changed -= new EventHandler(setToolValues); + argumentTextBox.Changed -= new EventHandler(setToolValues); + workingDirTextBox.Changed -= new EventHandler(setToolValues); + promptArgsCheckBox.Toggled -= new EventHandler(setToolValues); + useOutputPadCheckBox.Toggled -= new EventHandler(setToolValues); + + if (toolListBox.Selection.CountSelectedRows() == 1) { + TreeIter selectedIter; + TreeModel ls; + // FIXME: use this line of code when Selection.GetSelectedRows()[index] issue is fixed + //selectedIter = (TreeIter) (toolListBox.Selection.GetSelectedRows(toolListBoxStore)[0]); + toolListBox.Selection.GetSelected(out ls, out selectedIter); + + // get the value as an external tool object + ExternalTool selectedItem = (ExternalTool) toolListBox.Model.GetValue(selectedIter, 1); + + SetEnabledStatus(true, dependendControls); + titleTextBox.Text = selectedItem.MenuCommand; + commandTextBox.Text = selectedItem.Command; + argumentTextBox.Text = selectedItem.Arguments; + workingDirTextBox.Text = selectedItem.InitialDirectory; + promptArgsCheckBox.Active = selectedItem.PromptForArguments; + useOutputPadCheckBox.Active = selectedItem.UseOutputPad; + } else { + SetEnabledStatus(false, dependendControls); + + titleTextBox.Text = String.Empty; + commandTextBox.Text = String.Empty; + argumentTextBox.Text = String.Empty; + workingDirTextBox.Text = String.Empty; + promptArgsCheckBox.Active = false; + useOutputPadCheckBox.Active = false; + } + + titleTextBox.Changed += new EventHandler(setToolValues); + commandTextBox.Changed += new EventHandler(setToolValues); + argumentTextBox.Changed += new EventHandler(setToolValues); + workingDirTextBox.Changed += new EventHandler(setToolValues); + promptArgsCheckBox.Toggled += new EventHandler(setToolValues); + useOutputPadCheckBox.Toggled += new EventHandler(setToolValues); + } + + void removeEvent(object sender, EventArgs e) + { + // FIXME: use this block of code when Selection.GetSelectedRows()[index] issue is fixed + /* + GLib.List selectedItems = (GLib.List) toolListBox.Selection.GetSelectedRows(toolListBoxStore).Clone(); + int maxIndex = selectedItems.Count - 1; + // erase them in reverse order + for(int i= maxIndex; i >= 0; i--) { + TreeIter removeIter = (TreeIter) selectedItems[i]; + ((ListStore) toolListBox.Model).Remove(out removeIter); + toolListBoxItemCount --; + } + if (toolListBoxItemCount == 0) { + selectEvent(this, EventArgs.Empty); + } else { + SetSelectedIndex(toolListBox, Math.Min(index,toolListBoxItemCount - 1)); + } + */ + TreeModel model; + TreeIter iter; + if(toolListBox.Selection.GetSelected(out model, out iter)) { + ((ListStore) model).Remove(out iter); + } + } + + void addEvent(object sender, EventArgs e) + { + TreeIter itr = toolListBoxStore.AppendValues("New Tool", new ExternalTool()); + toolListBoxItemCount ++; + toolListBox.Selection.UnselectAll(); + toolListBox.Selection.SelectIter(itr); + } + + // added this event to get the last select row index from gtk TreeView + int GetSelectedIndex(TreeView tv) + { + TreeModel model; + TreeIter itr; + // FIXME: change block of code when Selection.GetSelectedRows()[index] issue is fixed + // it will need to use the GLib.List of selected items and simply return the first one + if(tv.Selection.GetSelected(out model, out itr)) + { + // return index of first level node (since only 1 level list model) + return model.GetPath(itr).Indices[0]; + } + else + { + return -1; + } + } + + // added this event to set a specific row as selected from index + void SetSelectedIndex(TreeView tv, int index) + { + //convert index to a path + TreePath path = new TreePath(index.ToString()); + tv.Selection.UnselectAll(); + tv.Selection.SelectPath(path); + } + + // disables or enables (sets sensitivty) a specified array of widgets + public void SetEnabledStatus(bool enabled, params Widget[] controls) + { + foreach (Widget control in controls) { + if (control == null) { + MessageService.ShowError("Control not found!"); + } else { + control.Sensitive = enabled; + } + } + } + } +} --=-kdsbY0ln67zt+ipaaaXd-- From kodeport@terra.es Mon Jan 19 22:16:35 2004 From: kodeport@terra.es (=?ISO-8859-1?Q?I=F1igo_Ill=E1n?=) Date: Mon, 19 Jan 2004 23:16:35 +0100 Subject: [MonoDevelop] ThreadException Dialog Message-ID: <1074550595.3999.2.camel@Zoolander> --=-zcRbr0ORilFQ5WRPm05k Content-Type: multipart/mixed; boundary="=-ri3YYOwdZOInI+mpjoLO" --=-ri3YYOwdZOInI+mpjoLO Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello everyone on the list! I have been porting the dialog that is shown when a exception occurs when you are using MonoDevelop. When I have gone to see it in action I have realised that the "magic" of this is given by a particularity in System.Windows.Form, more expecifically in the ThreadException delegate on System.Windows.Form.Application. I have no idea how to acchive this using Gtk+/Gtk# because it doesn't seem to have any alternative. Maybe, some one knows how to do it. Anyway, I send the files with the modifications. I hope it will be useful. --=-ri3YYOwdZOInI+mpjoLO Content-Disposition: attachment; filename=MonoDevelopMain.tar.gz Content-Type: application/x-compressed-tar; name=MonoDevelopMain.tar.gz Content-Transfer-Encoding: base64 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 ZjSjGc1oxucc/wUo9E0EAFAAAA== --=-ri3YYOwdZOInI+mpjoLO-- --=-zcRbr0ORilFQ5WRPm05k Content-Type: application/pgp-signature; name=signature.asc Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQBADFdDH1wFafwdGkARAt8sAJ0ZhYhRcS+GPcZIkicNwuNm7WxX9ACgp9nX rC9qyZuyeG2NieAjF9Afw7Q= =Tsnw -----END PGP SIGNATURE----- --=-zcRbr0ORilFQ5WRPm05k-- From gtk-sharp-list@web.de Sun Jan 18 16:07:38 2004 From: gtk-sharp-list@web.de (Franz Burgmann) Date: Sun, 18 Jan 2004 17:07:38 +0100 Subject: [MonoDevelop] great idea... Message-ID: <400AAF4A.9020807@web.de> Hello all, today I installed MonoDevelop and was totally surprised. I think that it is a big deal. It has really been the thing missing until now when coding mono and gtk# in linux. Go on! Franz From christophw@alphasierrapapa.com Sun Jan 18 19:01:12 2004 From: christophw@alphasierrapapa.com (Christoph Wille) Date: Sun, 18 Jan 2004 20:01:12 +0100 Subject: [MonoDevelop] Sharing Code & Patches etc. MD <-> #d Message-ID: <6.0.1.1.2.20040118195156.037eed58@pop.registeredsite.com> Good evening, I have read the posts in the "ideas" thread. Just wanted to chime in on behalf of the #develop team - we have a strict copyright assignment policy for accepting code beyond simple bug fix level: Fyi: the JCA we use is nearly identical to the OOo one. Bottomline: sharing and cooperating is absolutely fine with us, however, for us to integrate the fruits of the cooperation into the main distribution of #develop (someone providing it as a separate download - perfectly fine with us) means the "hassle" of signing the JCA. And btw, like our policy or not - it is set in stone for three years now (just to avoid unnecessary discussion on this list re: why not change this policy) Chris #develop senior project wrangler From chris@vickerson.net Tue Jan 20 05:24:11 2004 From: chris@vickerson.net (Chris Vickerson) Date: Tue, 20 Jan 2004 00:24:11 -0500 Subject: [MonoDevelop] error compiling Message-ID: <400CBB7B.2010603@vickerson.net> Anyone have any advice to fix this error in compiling? I downloaded the source to a folder named cvs using: "svn co svn://207.44.131.184/svn/monodevelop/trunk/MonoDevelop" ... Making all in gtkmozembed make[1]: Entering directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ gapi-codegen --generate gtkmozembed-api.xml --include /usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml /usr/share/gapi/atk-api.xml --outdir=generated --customdir=. --assembly-name=gtkmozembed-sharp && touch generated-stamp /bin/sh: line 1: gapi-fixup: command not found make[1]: *** [generated-stamp] Error 127 make[1]: Leaving directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' make: *** [all-recursive] Error 1 [root@localhost gtkmozembed-sharp]# From chris@vickerson.net Mon Jan 19 08:32:38 2004 From: chris@vickerson.net (Chris Vickerson) Date: Mon, 19 Jan 2004 03:32:38 -0500 Subject: [MonoDevelop] installing Message-ID: <400B9626.7020800@vickerson.net> This is a multi-part message in MIME format. --------------040008050308070403030502 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I'm getting this error when trying to make. Can anyone help me with it? ************************************** [root@localhost gtkmozembed-sharp]# make Making all in gtkmozembed make[1]: Entering directory `/home/chrisv/software/MonoDevelop/gtkmozembed-sharp/gtkmozembed' gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ gapi-codegen --generate gtkmozembed-api.xml --include /usr/local/share/gapi/gdk-api.xml /usr/local/share/gapi/gtk-api.xml /usr/local/share/gapi/atk-api.xml --outdir=generated --customdir=. --assembly-name=gtkmozembed-sharp && touch generated-stamp */bin/sh: line 1: gapi-fixup: command not found* make[1]: *** [generated-stamp] Error 127 make[1]: Leaving directory `/home/chrisv/software/MonoDevelop/gtkmozembed-sharp/gtkmozembed' make: *** [all-recursive] Error 1 --------------040008050308070403030502 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I'm getting this error when trying to make.  Can anyone help me with it?

**************************************

[root@localhost gtkmozembed-sharp]# make
Making all in gtkmozembed
make[1]: Entering directory `/home/chrisv/software/MonoDevelop/gtkmozembed-sharp/gtkmozembed'
gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \
        gapi-codegen --generate gtkmozembed-api.xml --include /usr/local/share/gapi/gdk-api.xml /usr/local/share/gapi/gtk-api.xml /usr/local/share/gapi/atk-api.xml --outdir=generated --customdir=. --assembly-name=gtkmozembed-sharp && touch generated-stamp
/bin/sh: line 1: gapi-fixup: command not found
make[1]: *** [generated-stamp] Error 127
make[1]: Leaving directory `/home/chrisv/software/MonoDevelop/gtkmozembed-sharp/gtkmozembed'
make: *** [all-recursive] Error 1
--------------040008050308070403030502-- From jluke@users.sourceforge.net Tue Jan 20 06:45:27 2004 From: jluke@users.sourceforge.net (John Luke) Date: Tue, 20 Jan 2004 01:45:27 -0500 Subject: [MonoDevelop] error compiling In-Reply-To: <400CBB7B.2010603@vickerson.net> References: <400CBB7B.2010603@vickerson.net> Message-ID: <1074581127.19317.10.camel@shark.jluke.com> > Making all in gtkmozembed > make[1]: Entering directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' > gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ > gapi-codegen --generate gtkmozembed-api.xml --include > /usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml > /usr/share/gapi/atk-api.xml --outdir=generated --customdir=. > --assembly-name=gtkmozembed-sharp && touch generated-stamp > /bin/sh: line 1: gapi-fixup: command not found > make[1]: *** [generated-stamp] Error 127 > make[1]: Leaving directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' > make: *** [all-recursive] Error 1 > [root@localhost gtkmozembed-sharp]# gapi-fixup should be installed with Gtk# from cvs and it need to be in your path, else you can edit cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed/Makefile.am and change gapi-fixup to mono gapi-fixup.exe From tberman@sevenl.net Tue Jan 20 06:45:44 2004 From: tberman@sevenl.net (Todd Berman) Date: Tue, 20 Jan 2004 01:45:44 -0500 Subject: [MonoDevelop] error compiling In-Reply-To: <400CBB7B.2010603@vickerson.net> References: <400CBB7B.2010603@vickerson.net> Message-ID: <1074581144.2287.0.camel@proton> Do you have Gtk# from cvs? --Todd On Tue, 2004-01-20 at 00:24, Chris Vickerson wrote: > Anyone have any advice to fix this error in compiling? > > I downloaded the source to a folder named cvs using: "svn co > svn://207.44.131.184/svn/monodevelop/trunk/MonoDevelop" > > ... > Making all in gtkmozembed > make[1]: Entering directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' > gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ > gapi-codegen --generate gtkmozembed-api.xml --include > /usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml > /usr/share/gapi/atk-api.xml --outdir=generated --customdir=. > --assembly-name=gtkmozembed-sharp && touch generated-stamp > /bin/sh: line 1: gapi-fixup: command not found > make[1]: *** [generated-stamp] Error 127 > make[1]: Leaving directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' > make: *** [all-recursive] Error 1 > [root@localhost gtkmozembed-sharp]# > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From chris@vickerson.net Tue Jan 20 07:13:43 2004 From: chris@vickerson.net (Chris Vickerson) Date: Tue, 20 Jan 2004 02:13:43 -0500 Subject: [MonoDevelop] error compiling In-Reply-To: <1074581144.2287.0.camel@proton> References: <400CBB7B.2010603@vickerson.net> <1074581144.2287.0.camel@proton> Message-ID: <400CD527.2000006@vickerson.net> This is a multi-part message in MIME format. --------------050201090508090502020302 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I honestly thought I did - but I didn't. Appologies as well for posting this message twice. It had been a full day and I thought my message got lost so I reposted it (the second one hasn't shown up yet I think). Todd Berman wrote: >Do you have Gtk# from cvs? > >--Todd > >On Tue, 2004-01-20 at 00:24, Chris Vickerson wrote: > > >>Anyone have any advice to fix this error in compiling? >> >>I downloaded the source to a folder named cvs using: "svn co >>svn://207.44.131.184/svn/monodevelop/trunk/MonoDevelop" >> >>... >>Making all in gtkmozembed >>make[1]: Entering directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' >>gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ >> gapi-codegen --generate gtkmozembed-api.xml --include >>/usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml >>/usr/share/gapi/atk-api.xml --outdir=generated --customdir=. >>--assembly-name=gtkmozembed-sharp && touch generated-stamp >>/bin/sh: line 1: gapi-fixup: command not found >>make[1]: *** [generated-stamp] Error 127 >>make[1]: Leaving directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed' >>make: *** [all-recursive] Error 1 >>[root@localhost gtkmozembed-sharp]# >> >>_______________________________________________ >>Monodevelop-list mailing list >>Monodevelop-list@lists.ximian.com >>http://lists.ximian.com/mailman/listinfo/monodevelop-list >> >> > > > --------------050201090508090502020302 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I honestly thought I did - but I didn't.  Appologies as well for posting this message twice.  It had been a full day and I thought my message got lost so I reposted it (the second one hasn't shown up yet I think).


Todd Berman wrote:
Do you have Gtk# from cvs?

--Todd

On Tue, 2004-01-20 at 00:24, Chris Vickerson wrote:
  
Anyone have any advice to fix this error in compiling?

I downloaded the source to a folder named cvs using: "svn co 
svn://207.44.131.184/svn/monodevelop/trunk/MonoDevelop"

...
Making all in gtkmozembed
make[1]: Entering directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed'
gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \
        gapi-codegen --generate gtkmozembed-api.xml --include 
/usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml 
/usr/share/gapi/atk-api.xml --outdir=generated --customdir=. 
--assembly-name=gtkmozembed-sharp && touch generated-stamp
/bin/sh: line 1: gapi-fixup: command not found
make[1]: *** [generated-stamp] Error 127
make[1]: Leaving directory `/cvs/MonoDevelop/gtkmozembed-sharp/gtkmozembed'
make: *** [all-recursive] Error 1
[root@localhost gtkmozembed-sharp]#

_______________________________________________
Monodevelop-list mailing list
Monodevelop-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monodevelop-list
    

  

--------------050201090508090502020302-- From jbafactor@optusnet.com.au Tue Jan 20 08:53:22 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Tue, 20 Jan 2004 19:53:22 +1100 Subject: [MonoDevelop] Monodevelop File tab crashes on collapsing again. Message-ID: <1074588802.25119.1.camel@nkotb> Hi guys, Just checked out the latest revision from the anon svn. Using the file tab, when you open a file from the treeview, if you click on a node to collapse it (after opening a file) MD crashes. JBA From madtom1999@yahoo.com Tue Jan 20 11:31:28 2004 From: madtom1999@yahoo.com (=?iso-8859-1?q?tom=20potts?=) Date: Tue, 20 Jan 2004 11:31:28 +0000 (GMT) Subject: [MonoDevelop] problems bulding gtkmozembed Message-ID: <20040120113128.12676.qmail@web41314.mail.yahoo.com> I have the latest gtk-sharp and a recent version of MonoDevelop (579?) In trying to './autogen.sh --prefix=/usr' the first message I receive is aclocal.m4:811: required file `./ltmain.sh' not found and the program then seems to run ok 'make' gives: Making all in gtkmozembed make[1]: Entering directory `/home/tom/mono/MonoDevelop/gtkmozembed-sharp/gtkmozembed' gapi-fixup --api=gtkmozembed-api.xml --metadata=GtkMozEmbed.metadata && \ gapi-codegen --generate gtkmozembed-api.xml --include /usr/share/gapi/gdk-api.xml /usr/share/gapi/gtk-api.xml /usr/share/gapi/atk-api.xml --outdir=generated --customdir=. --assembly-name=gtkmozembed-sharp && touch generated-stamp /bin/sh: line 1: gapi-fixup: command not found make[1]: *** [generated-stamp] Error 127 make[1]: Leaving directory `/home/tom/mono/MonoDevelop/gtkmozembed-sharp/gtkmozembed' make: *** [all-recursive] Error 1 Any clues? Is there likely to be a red-carpet channel for this? Tom ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html From richard.torkar@htu.se Tue Jan 20 11:52:41 2004 From: richard.torkar@htu.se (Richard Torkar) Date: Tue, 20 Jan 2004 12:52:41 +0100 Subject: [MonoDevelop] problems bulding gtkmozembed In-Reply-To: <20040120113128.12676.qmail@web41314.mail.yahoo.com> References: <20040120113128.12676.qmail@web41314.mail.yahoo.com> Message-ID: <1074599560.12122.2.camel@localhost> On Tue, 2004-01-20 at 12:31, tom potts wrote: > /bin/sh: line 1: gapi-fixup: command not found > make[1]: *** [generated-stamp] Error 127 > make[1]: Leaving directory > `/home/tom/mono/MonoDevelop/gtkmozembed-sharp/gtkmozembed' > make: *** [all-recursive] Error 1 > > Any clues? You probably (don't know for sure) need gtk-sharp from CVS. You are missing gapi-fixup, which I got when installing gtk# from CVS. tux ~/mono/bin$ ls gapi-f* gapi-fixup gapi-fixup.exe best, /Richard From jluke@users.sourceforge.net Wed Jan 21 01:29:18 2004 From: jluke@users.sourceforge.net (John Luke) Date: Tue, 20 Jan 2004 20:29:18 -0500 Subject: [MonoDevelop] TextEditor performance Message-ID: <1074648558.19317.33.camel@shark.jluke.com> Hello, There has been some discussions about the current performance of the text editor control on irc. I thought it would be useful to mention some of the ideas here so everyone is aware of them, they are not lost, and we can proceed further. First, there is a few notes in samples/MonoPad/TODO, and a couple bugs in bugzilla. The main reason it is slow is because we are not taking advantage of Pango attributes when we draw the text. There is also many posts on gtk-app-devel-list about pango performance which we should take into consideration, and looking at some of the existing gtk/pango text widgets should help. It is also possible that we could rework the text widget to use gtksourceview-sharp to handle the text drawing, but I'm not sure that will be faster than the current method. Ben has looked into this some I think and perhaps he will follow up with some more thoughts. Finally, I don't think that me or Todd have time to do this right now, so unless Pedro is interested in it, I think it would need to wait until the initial porting is complete. However, if someone else is so inclined that would be great, just try and announce your plans here. Thanks, John From jbafactor@optusnet.com.au Wed Jan 21 09:34:13 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Wed, 21 Jan 2004 20:34:13 +1100 Subject: [MonoDevelop] Monodevelop File tab crashes on collapsing again. In-Reply-To: <1074588802.25119.1.camel@nkotb> References: <1074588802.25119.1.camel@nkotb> Message-ID: <1074677653.3248.0.camel@nkotb> This is the exception that shows up: Unhandled Exception: System.IndexOutOfRangeException: Array index is out of range in [0x0001c] (at /mono-develop/MonoDevelop/src/Main/Base/Gui/Pads/FileScout.cs:444) ICSharpCode.SharpDevelop.Gui.Pads.FileScout:OnDirChanged (object,System.EventArgs) in <0x0005a> (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_object_EventArgs (object,System.EventArgs) in <0x0012b> GtkSharp.voidObjectSignal:voidObjectCallback (intptr,int) in <0x00030> (wrapper native-to-managed) GtkSharp.voidObjectSignal:voidObjectCallback (intptr,int) in (unmanaged) (wrapper managed-to-native) Gtk.Application:gtk_main () in <0x00004> (wrapper managed-to-native) Gtk.Application:gtk_main () in <0x00007> Gtk.Application:Run () in [0x000e8] (at /mono-develop/MonoDevelop/src/Main/Base/Commands/AutostartCommands.cs:216) ICSharpCode.SharpDevelop.Commands.StartWorkbenchCommand:Run () in [0x001c1] (at /mono-develop/MonoDevelop/src/Main/StartUp/SharpDevelopMain.cs:120) ICSharpCode.SharpDevelop.SharpDevelopMain:Main (string[]) On Tue, 2004-01-20 at 19:53, John BouAntoun wrote: > Hi guys, > > Just checked out the latest revision from the anon svn. > > Using the file tab, when you open a file from the treeview, if you click > on a node to collapse it (after opening a file) MD crashes. > > JBA > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From jbafactor@optusnet.com.au Wed Jan 21 10:51:22 2004 From: jbafactor@optusnet.com.au (John BouAntoun) Date: Wed, 21 Jan 2004 21:51:22 +1100 Subject: [MonoDevelop] MenuService.CreateQuickInsertMenu patch Message-ID: <1074682282.5090.5.camel@nkotb> --=-I0L/+FrgNs872vTgTIpQ Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi guys, I decided to try and implement the Missing CreateQuickInsertMenu functionality from the MenuService. It only took me about an hour (took me 20 minutes to figure that this was not in the .Core.Services namespace). Anyways, I implemented the missing functionality and then used this new implementation in the ExternalToolPanel.cs file (as a means of testing it). I have included both the diff file patch and the original modified files (in case the diff is against the wrong revision). I made 3 changes to the ExternalToolPanel.cs file, 1) add the "using ICSharpCode.SharpDevelop.Services;" namespace 2) uncomment the FIXME that declared the MenuService 3) uncomment the FIXME that called CreateQuickInsertMenu Hope all goes well, JBA --=-I0L/+FrgNs872vTgTIpQ Content-Disposition: attachment; filename=MenuService-ExternalToolPanel.diff Content-Type: text/x-patch; name=MenuService-ExternalToolPanel.diff; charset=UTF-8 Content-Transfer-Encoding: 8bit Index: src/Main/Base/Services/MenuService/MenuService.cs =================================================================== --- src/Main/Base/Services/MenuService/MenuService.cs (revision 609) +++ src/Main/Base/Services/MenuService/MenuService.cs (working copy) @@ -1,125 +1,134 @@ -// -// -// -// -// -// - -using System; -using System.IO; -using System.Collections; -using System.Threading; -using System.Resources; -using System.Drawing; -using System.Diagnostics; -using System.Reflection; -using System.Xml; -using ICSharpCode.Core.AddIns; -using ICSharpCode.Core.AddIns.Codons; -using ICSharpCode.Core.Services; -using ICSharpCode.SharpDevelop.Gui.Components; - -namespace ICSharpCode.SharpDevelop.Services -{ - public class MenuService : AbstractService - {/* - void ContextMenuPopupHandler(object sender, EventArgs e) - { - CommandBarContextMenu contextMenu = (CommandBarContextMenu)sender; - foreach (object o in contextMenu.Items) { - if (o is IStatusUpdate) { - ((IStatusUpdate)o).UpdateStatus(); - } - } - } - */ - public Gtk.Menu CreateContextMenu(object owner, string addInTreePath) - { - ArrayList buildItems = AddInTreeSingleton.AddInTree.GetTreeNode(addInTreePath).BuildChildItems(owner); - //CommandBarContextMenu contextMenu = new CommandBarContextMenu(); - //contextMenu.Popup += new EventHandler(ContextMenuPopupHandler); - - Gtk.Menu contextMenu = new Gtk.Menu(); - foreach (object item in buildItems) { - if (item is Gtk.MenuItem) { - //contextMenu.Items.Add((CommandBarItem)item); - contextMenu.Append((Gtk.MenuItem)item); - } else { - ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item; - foreach(Gtk.MenuItem mi in submenuBuilder.BuildSubmenu(null, owner)) { - contextMenu.Append(mi); - } - //contextMenu.Items.AddRange(submenuBuilder.BuildSubmenu(null, owner)); - } - } - contextMenu.ShowAll(); - return contextMenu; - } - - public void ShowContextMenu(object owner, string addInTreePath, Gtk.Widget parent) - { - //CreateContextMenu(owner, addInTreePath).Show(parent, new Point(x, y)); - CreateContextMenu(owner, addInTreePath).Popup(null, null, null, IntPtr.Zero, 0, Gtk.Global.CurrentEventTime); - } - /* - class QuickInsertMenuHandler - { - TextBoxBase targetControl; - string text; - - public QuickInsertMenuHandler(TextBoxBase targetControl, string text) - { - this.targetControl = targetControl; - this.text = text; - } - - public EventHandler EventHandler { - get { - return new EventHandler(PopupMenuHandler); - } - } - void PopupMenuHandler(object sender, EventArgs e) - { - targetControl.SelectedText += text; - } - } - - class QuickInsertHandler - { - Control popupControl; - CommandBarContextMenu quickInsertMenu; - - public QuickInsertHandler(Control popupControl, CommandBarContextMenu quickInsertMenu) - { - this.popupControl = popupControl; - this.quickInsertMenu = quickInsertMenu; - - popupControl.Click += new EventHandler(showQuickInsertMenu); - } - - void showQuickInsertMenu(object sender, EventArgs e) - { - Point cords = new Point(popupControl.Width, 0); - quickInsertMenu.Show(popupControl, cords); - } - } - - public void CreateQuickInsertMenu(TextBoxBase targetControl, Control popupControl, string[,] quickInsertMenuItems) - { - StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService)); - - CommandBarContextMenu contextMenu = new CommandBarContextMenu(); - for (int i = 0; i < quickInsertMenuItems.GetLength(0); ++i) { - if (quickInsertMenuItems[i, 0] == "-") { - contextMenu.Items.Add(new SdMenuSeparator()); - } else { - SdMenuCommand cmd = new SdMenuCommand(this, - stringParserService.Parse(quickInsertMenuItems[i, 0]), - new QuickInsertMenuHandler(targetControl, quickInsertMenuItems[i, 1]).EventHandler); - contextMenu.Items.Add(cmd); - } - } - new QuickInsertHandler(popupControl, contextMenu); - }*/ - } -} +// +// +// +// +// +// + +using System; +using System.IO; +using System.Collections; +using System.Threading; +using System.Resources; +using System.Drawing; +using System.Diagnostics; +using System.Reflection; +using System.Xml; +using ICSharpCode.Core.AddIns; +using ICSharpCode.Core.AddIns.Codons; +using ICSharpCode.Core.Services; +using ICSharpCode.SharpDevelop.Gui.Components; + +namespace ICSharpCode.SharpDevelop.Services +{ + public class MenuService : AbstractService + {/* + void ContextMenuPopupHandler(object sender, EventArgs e) + { + CommandBarContextMenu contextMenu = (CommandBarContextMenu)sender; + foreach (object o in contextMenu.Items) { + if (o is IStatusUpdate) { + ((IStatusUpdate)o).UpdateStatus(); + } + } + } + */ + public Gtk.Menu CreateContextMenu(object owner, string addInTreePath) + { + ArrayList buildItems = AddInTreeSingleton.AddInTree.GetTreeNode(addInTreePath).BuildChildItems(owner); + //CommandBarContextMenu contextMenu = new CommandBarContextMenu(); + //contextMenu.Popup += new EventHandler(ContextMenuPopupHandler); + + Gtk.Menu contextMenu = new Gtk.Menu(); + foreach (object item in buildItems) { + if (item is Gtk.MenuItem) { + //contextMenu.Items.Add((CommandBarItem)item); + contextMenu.Append((Gtk.MenuItem)item); + } else { + ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item; + foreach(Gtk.MenuItem mi in submenuBuilder.BuildSubmenu(null, owner)) { + contextMenu.Append(mi); + } + //contextMenu.Items.AddRange(submenuBuilder.BuildSubmenu(null, owner)); + } + } + contextMenu.ShowAll(); + return contextMenu; + } + + public void ShowContextMenu(object owner, string addInTreePath, Gtk.Widget parent) + { + //CreateContextMenu(owner, addInTreePath).Show(parent, new Point(x, y)); + CreateContextMenu(owner, addInTreePath).Popup(null, null, null, IntPtr.Zero, 0, Gtk.Global.CurrentEventTime); + } + + class QuickInsertMenuHandler + { + Gtk.Editable targetControl; + string text; + + public QuickInsertMenuHandler(Gtk.Editable targetControl, string text) + { + this.targetControl = targetControl; + this.text = text; + } + + public EventHandler EventHandler { + get { + return new EventHandler(PopupMenuHandler); + } + } + void PopupMenuHandler(object sender, EventArgs e) + { + // insert at current cursor position, deleting any selections + int tempInt = targetControl.Position; + targetControl.DeleteSelection(); + targetControl.InsertText(text, ref tempInt); + } + } + + class QuickInsertHandler + { + Gtk.Button popupControl; + Gtk.Menu quickInsertMenu; + + //public QuickInsertHandler(Control popupControl, CommandBarContextMenu quickInsertMenu) + public QuickInsertHandler(Gtk.Button popupControl, Gtk.Menu quickInsertMenu) + { + this.popupControl = popupControl; + this.quickInsertMenu = quickInsertMenu; + + popupControl.Clicked += new EventHandler(showQuickInsertMenu); + } + + void showQuickInsertMenu(object sender, EventArgs e) + { + //Point cords = new Point(popupControl.Width, 0); + //quickInsertMenu.Show(popupControl, cords); + quickInsertMenu.Popup(null, null, null, IntPtr.Zero, 0, Gtk.Global.CurrentEventTime); + } + } + + //public void CreateQuickInsertMenu(TextBoxBase targetControl, Control popupControl, string[,] quickInsertMenuItems) + public void CreateQuickInsertMenu(Gtk.Editable targetControl, Gtk.Button popupControl, string[,] quickInsertMenuItems) + { + StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService)); + + //CommandBarContextMenu contextMenu = new CommandBarContextMenu(); + Gtk.Menu contextMenu = new Gtk.Menu(); + for (int i = 0; i < quickInsertMenuItems.GetLength(0); ++i) { + if (quickInsertMenuItems[i, 0] == "-") { + contextMenu.Append(new SdMenuSeparator()); + } else { + SdMenuCommand cmd = new SdMenuCommand(this, + stringParserService.Parse(quickInsertMenuItems[i, 0]), + new QuickInsertMenuHandler(targetControl, quickInsertMenuItems[i, 1]).EventHandler); + contextMenu.Append(cmd); + } + } + new QuickInsertHandler(popupControl, contextMenu); + + contextMenu.ShowAll(); + } + } +} Index: src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs =================================================================== --- src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (revision 609) +++ src/Main/Base/Gui/Dialogs/OptionPanels/ExternalToolPanel.cs (working copy) @@ -15,6 +15,9 @@ using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns.Codons; +using ICSharpCode.SharpDevelop.Services; +//using MonoDevelop.Gui; + namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels { public class ExternalToolPane : AbstractOptionPanel @@ -84,14 +87,14 @@ // needed for treeview listbox int toolListBoxItemCount = 0; - // Services + // Services FileUtilityService FileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService)); StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService)); MessageService MessageService = (MessageService)ServiceManager.Services.GetService(typeof(MessageService)); -// FIXME: when menu service is created -// MenuService MenuService = (MenuService)ServiceManager.Services.GetService(typeof(MenuService)); + MenuService MenuService = (MenuService)ServiceManager.Services.GetService(typeof(MenuService)); + public override void LoadPanelContents() { // set up the form controls instance @@ -114,17 +117,14 @@ "text", 0); + MenuService.CreateQuickInsertMenu(argumentTextBox, + argumentQuickInsertButton, + argumentQuickInsertMenu); -// FIXME: when menu service is created -// MenuService.CreateQuickInsertMenu(argumentTextBox, -// argumentQuickInsertButton, -// argumentQuickInsertMenu); - -// FIXME: when menu service is created -// MenuService.CreateQuickInsertMenu(workingDirTextBox, -// workingDirQuickInsertButton, -// workingDirInsertMenu); - + MenuService.CreateQuickInsertMenu(workingDirTextBox, + workingDirQuickInsertButton, + workingDirInsertMenu); + toolListBox.Selection.Changed += new EventHandler(selectEvent); removeButton.Clicked += new EventHandler(removeEvent); --=-I0L/+FrgNs872vTgTIpQ Content-Disposition: attachment; filename=MenuService.cs Content-Type: text/plain; name=MenuService.cs; charset=UTF-8 Content-Transfer-Encoding: 8bit // // // // // // using System; using System.IO; using System.Collections; using System.Threading; using System.Resources; using System.Drawing; using System.Diagnostics; using System.Reflection; using System.Xml; using ICSharpCode.Core.AddIns; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.Core.Services; using ICSharpCode.SharpDevelop.Gui.Components; namespace ICSharpCode.SharpDevelop.Services { public class MenuService : AbstractService {/* void ContextMenuPopupHandler(object sender, EventArgs e) { CommandBarContextMenu contextMenu = (CommandBarContextMenu)sender; foreach (object o in contextMenu.Items) { if (o is IStatusUpdate) { ((IStatusUpdate)o).UpdateStatus(); } } } */ public Gtk.Menu CreateContextMenu(object owner, string addInTreePath) { ArrayList buildItems = AddInTreeSingleton.AddInTree.GetTreeNode(addInTreePath).BuildChildItems(owner); //CommandBarContextMenu contextMenu = new CommandBarContextMenu(); //contextMenu.Popup += new EventHandler(ContextMenuPopupHandler); Gtk.Menu contextMenu = new Gtk.Menu(); foreach (object item in buildItems) { if (item is Gtk.MenuItem) { //contextMenu.Items.Add((CommandBarItem)item); contextMenu.Append((Gtk.MenuItem)item); } else { ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item; foreach(Gtk.MenuItem mi in submenuBuilder.BuildSubmenu(null, owner)) { contextMenu.Append(mi); } //contextMenu.Items.AddRange(submenuBuilder.BuildSubmenu(null, owner)); } } contextMenu.ShowAll(); return contextMenu; } public void ShowContextMenu(object owner, string addInTreePath, Gtk.Widget parent) { //CreateContextMenu(owner, addInTreePath).Show(parent, new Point(x, y)); CreateContextMenu(owner, addInTreePath).Popup(null, null, null, IntPtr.Zero, 0, Gtk.Global.CurrentEventTime); } class QuickInsertMenuHandler { Gtk.Editable targetControl; string text; public QuickInsertMenuHandler(Gtk.Editable targetControl, string text) { this.targetControl = targetControl; this.text = text; } public EventHandler EventHandler { get { return new EventHandler(PopupMenuHandler); } } void PopupMenuHandler(object sender, EventArgs e) { // insert at current cursor position, deleting any selections int tempInt = targetControl.Position; targetControl.DeleteSelection(); targetControl.InsertText(text, ref tempInt); } } class QuickInsertHandler { Gtk.Button popupControl; Gtk.Menu quickInsertMenu; //public QuickInsertHandler(Control popupControl, CommandBarContextMenu quickInsertMenu) public QuickInsertHandler(Gtk.Button popupControl, Gtk.Menu quickInsertMenu) { this.popupControl = popupControl; this.quickInsertMenu = quickInsertMenu; popupControl.Clicked += new EventHandler(showQuickInsertMenu); } void showQuickInsertMenu(object sender, EventArgs e) { //Point cords = new Point(popupControl.Width, 0); //quickInsertMenu.Show(popupControl, cords); quickInsertMenu.Popup(null, null, null, IntPtr.Zero, 0, Gtk.Global.CurrentEventTime); } } //public void CreateQuickInsertMenu(TextBoxBase targetControl, Control popupControl, string[,] quickInsertMenuItems) public void CreateQuickInsertMenu(Gtk.Editable targetControl, Gtk.Button popupControl, string[,] quickInsertMenuItems) { StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService)); //CommandBarContextMenu contextMenu = new CommandBarContextMenu(); Gtk.Menu contextMenu = new Gtk.Menu(); for (int i = 0; i < quickInsertMenuItems.GetLength(0); ++i) { if (quickInsertMenuItems[i, 0] == "-") { contextMenu.Append(new SdMenuSeparator()); } else { SdMenuCommand cmd = new SdMenuCommand(this, stringParserService.Parse(quickInsertMenuItems[i, 0]), new QuickInsertMenuHandler(targetControl, quickInsertMenuItems[i, 1]).EventHandler); contextMenu.Append(cmd); } } new QuickInsertHandler(popupControl, contextMenu); contextMenu.ShowAll(); } } } --=-I0L/+FrgNs872vTgTIpQ Content-Disposition: attachment; filename=ExternalToolPanel.cs Content-Type: text/plain; name=ExternalToolPanel.cs; charset=UTF-8 Content-Transfer-Encoding: 8bit // // // // // // using System; using System.IO; using System.Collections; using Gtk; using ICSharpCode.SharpDevelop.Internal.ExternalTool; using ICSharpCode.Core.Properties; using ICSharpCode.Core.Services; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.SharpDevelop.Services; //using MonoDevelop.Gui; namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels { public class ExternalToolPane : AbstractOptionPanel { static string[,] argumentQuickInsertMenu = new string[,] { {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemPath}", "${ItemPath}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemFileName}", "${ItemFileName}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ItemExtension}", "${ItemExt}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentLine}", "${CurLine}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentColumn}", "${CurCol}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CurrentText}", "${CurText}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullTargetPath}", "${TargetPath}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetExtension}", "${TargetExt}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectFileName}", "${ProjectFileName}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineFileName}", "${CombineFileName}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, }; static string[,] workingDirInsertMenu = new string[,] { {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.FullItemDirectory}", "${ItemDir}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetDirectory}", "${TargetDir}"}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.TargetName}", "${TargetName}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.ProjectDirectory}", "${ProjectDir}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.CombineDirectory}", "${CombineDir}"}, {"-", ""}, {"${res:Dialog.Options.ExternalTool.QuickInsertMenu.SharpDevelopStartupPath}", "${StartupPath}"}, }; // gtk controls ListStore toolListBoxStore; TreeView toolListBox; Entry titleTextBox; Entry commandTextBox; Entry argumentTextBox; Entry workingDirTextBox; CheckButton promptArgsCheckBox; CheckButton useOutputPadCheckBox; Label titleLabel; Label argumentLabel; Label commandLabel; Label workingDirLabel; Button browseButton; Button argumentQuickInsertButton; Button workingDirQuickInsertButton; Button moveUpButton; Button moveDownButton; Button addButton; Button removeButton; // these are the control names which are enabled/disabled depending if tool is selected Widget[] dependendControls; // needed for treeview listbox int toolListBoxItemCount = 0; // Services FileUtilityService FileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService)); StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService)); PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService)); MessageService MessageService = (MessageService)ServiceManager.Services.GetService(typeof(MessageService)); MenuService MenuService = (MenuService)ServiceManager.Services.GetService(typeof(MenuService)); public override void LoadPanelContents() { // set up the form controls instance SetupPanelInstance(); // add each tool to the treeStore foreach (object o in ToolLoader.Tool) { toolListBoxStore.AppendValues(((ExternalTool)o).MenuCommand, (ExternalTool) o); toolListBoxItemCount ++; } toolListBox.Reorderable = false; toolListBox.HeadersVisible = true; toolListBox.Selection.Mode = SelectionMode.Multiple; toolListBox.Model = toolListBoxStore; toolListBox.AppendColumn ( StringParserService.Parse("${res:Dialog.Options.ExternalTool.ToolsLabel}"), new CellRendererText (), "text", 0); MenuService.CreateQuickInsertMenu(argumentTextBox, argumentQuickInsertButton, argumentQuickInsertMenu); MenuService.CreateQuickInsertMenu(workingDirTextBox, workingDirQuickInsertButton, workingDirInsertMenu); toolListBox.Selection.Changed += new EventHandler(selectEvent); removeButton.Clicked += new EventHandler(removeEvent); addButton.Clicked += new EventHandler(addEvent); moveUpButton.Clicked += new EventHandler(moveUpEvent); moveDownButton.Clicked += new EventHandler(moveDownEvent); browseButton.Clicked += new EventHandler(browseEvent); selectEvent(this, EventArgs.Empty); } public override bool StorePanelContents() { ArrayList newlist = new ArrayList(); TreeIter first; if(toolListBox.Model.GetIterFirst(out first)) { TreeIter current = first; do { // loop through items in the tree ExternalTool tool = toolListBox.Model.GetValue(current, 1) as ExternalTool; if (!FileUtilityService.IsValidFileName(tool.Command)) { MessageService.ShowError(String.Format("The command of tool \"{0}\" is invalid.", tool.MenuCommand)); return false; } if ((tool.InitialDirectory != "") && (!FileUtilityService.IsValidFileName(tool.InitialDirectory))) { MessageService.ShowError(String.Format("The working directory of tool \"{0}\" is invalid.", tool.MenuCommand)); return false; } newlist.Add(tool); } while(toolListBox.Model.IterNext(out current)); } ToolLoader.Tool = newlist; ToolLoader.SaveTools(); return true; } void SetupPanelInstance() { // instantiate controls toolListBoxStore = new ListStore(typeof(string), typeof(ExternalTool)); toolListBox = new TreeView(); toolListBox.SetSizeRequest(200, 150); titleTextBox = new Entry(); commandTextBox = new Entry(); argumentTextBox = new Entry(); workingDirTextBox = new Entry(); promptArgsCheckBox = new CheckButton(StringParserService.Parse("${res:Dialog.Options.ExternalTool.PromptForArgsCheckBox}")); useOutputPadCheckBox = new CheckButton(StringParserService.Parse("${res:Dialog.Options.ExternalTool.UseOutputWindow}")); titleLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.TitleLabel}")); argumentLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.ArgumentLabel}")); commandLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.CommandLabel}")); workingDirLabel = new Label(StringParserService.Parse("${res:Dialog.Options.ExternalTool.WorkingDirLabel}")); browseButton = new Button("..."); argumentQuickInsertButton = new Button(">"); workingDirQuickInsertButton = new Button(">"); moveUpButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveUpButton}")); moveDownButton = new Button(StringParserService.Parse("${res:Dialog.Options.ExternalTool.MoveDownButton}")); removeButton = new Button(StringParserService.Parse("${res:Global.RemoveButtonText}")); addButton = new Button(StringParserService.Parse("${res:Global.AddButtonText}")); dependendControls = new Widget[] { titleTextBox, commandTextBox, argumentTextBox, workingDirTextBox, promptArgsCheckBox, useOutputPadCheckBox, titleLabel, argumentLabel, commandLabel, workingDirLabel, browseButton, argumentQuickInsertButton, workingDirQuickInsertButton, moveUpButton, moveDownButton }; // pack all the controls VBox vBox1 = new VBox(false, 2); vBox1.PackStart(addButton, false, false, 2); vBox1.PackStart(removeButton, false, false, 2); vBox1.PackEnd(moveDownButton, false, false, 2); vBox1.PackEnd(moveUpButton, false, false, 2); HBox hBox1 = new HBox(false, 2); hBox1.PackStart(toolListBox, false, true, 2); hBox1.PackStart(vBox1, false, false, 2); Table table1 = new Table(4, 3, false); table1.Attach(titleLabel, 0, 1, 0, 1); table1.Attach(titleTextBox, 1, 3, 0, 1); table1.Attach(commandLabel, 0, 1, 1, 2); table1.Attach(commandTextBox, 1, 2, 1, 2); table1.Attach(browseButton, 2, 3, 1, 2); table1.Attach(argumentLabel, 0, 1, 2, 3); table1.Attach(argumentTextBox, 1, 2, 2, 3); table1.Attach(argumentQuickInsertButton, 2, 3, 2, 3); table1.Attach(workingDirLabel, 0, 1, 3, 4); table1.Attach(workingDirTextBox, 1, 2, 3, 4); table1.Attach(workingDirQuickInsertButton, 2, 3, 3, 4); VBox mainBox = new VBox(false, 2); mainBox.PackStart(hBox1, false, false, 2); mainBox.PackStart(table1, false, false, 2); mainBox.PackStart(promptArgsCheckBox, false, false, 2); mainBox.PackStart(useOutputPadCheckBox, false, false, 2); this.Add(mainBox); } void browseEvent(object sender, EventArgs e) { Gtk.FileSelection fs = new Gtk.FileSelection ("File to Open"); int response = fs.Run (); string name = fs.Filename; fs.Destroy (); if (response == (int)Gtk.ResponseType.Ok) { commandTextBox.Text = name; } } void moveUpEvent(object sender, EventArgs e) { if(toolListBox.Selection.CountSelectedRows() == 1) { TreeIter selectedItem; TreeModel ls; ((ListStore)toolListBox.Model).GetIter(out selectedItem, (TreePath) toolListBox.Selection.GetSelectedRows(out ls)[0]); // we know we have a selected item so get it's index // use that to get the path of the item before it, and swap the two int index = GetSelectedIndex(toolListBox); // only swap if at the top if(index > 0) { TreeIter prev; if(toolListBox.Model.GetIterFromString(out prev, (index - 1).ToString())) { ((ListStore)ls).Swap(selectedItem, prev); } } } } void moveDownEvent(object sender, EventArgs e) { if(toolListBox.Selection.CountSelectedRows() == 1) { TreeIter selectedItem; TreeModel ls; ((ListStore)toolListBox.Model).GetIter(out selectedItem, (TreePath) toolListBox.Selection.GetSelectedRows(out ls)[0]); // swap it with the next one TreeIter toSwap = selectedItem; if(ls.IterNext(out toSwap)) { ((ListStore)ls).Swap(selectedItem, toSwap); } } } void setToolValues(object sender, EventArgs e) { ExternalTool selectedItem = null; if(toolListBox.Selection.CountSelectedRows() == 1) { TreeIter selectedIter; TreeModel lv; ((ListStore)toolListBox.Model).GetIter(out selectedIter, (TreePath) toolListBox.Selection.GetSelectedRows(out lv)[0]); // get the value as an external tool object selectedItem = lv.GetValue(selectedIter, 1) as ExternalTool; lv.SetValue(selectedIter, 0, titleTextBox.Text); selectedItem.MenuCommand = titleTextBox.Text; selectedItem.Command = commandTextBox.Text; selectedItem.Arguments = argumentTextBox.Text; selectedItem.InitialDirectory = workingDirTextBox.Text; selectedItem.PromptForArguments = promptArgsCheckBox.Active; selectedItem.UseOutputPad = useOutputPadCheckBox.Active; } } void selectEvent(object sender, EventArgs e) { SetEnabledStatus(toolListBox.Selection.CountSelectedRows() > 0, removeButton); titleTextBox.Changed -= new EventHandler(setToolValues); commandTextBox.Changed -= new EventHandler(setToolValues); argumentTextBox.Changed -= new EventHandler(setToolValues); workingDirTextBox.Changed -= new EventHandler(setToolValues); promptArgsCheckBox.Toggled -= new EventHandler(setToolValues); useOutputPadCheckBox.Toggled -= new EventHandler(setToolValues); if (toolListBox.Selection.CountSelectedRows() == 1) { TreeIter selectedIter; TreeModel ls; ((ListStore)toolListBox.Model).GetIter(out selectedIter, (TreePath) toolListBox.Selection.GetSelectedRows(out ls)[0]); // get the value as an external tool object ExternalTool selectedItem = (ExternalTool) toolListBox.Model.GetValue(selectedIter, 1); SetEnabledStatus(true, dependendControls); titleTextBox.Text = selectedItem.MenuCommand; commandTextBox.Text = selectedItem.Command; argumentTextBox.Text = selectedItem.Arguments; workingDirTextBox.Text = selectedItem.InitialDirectory; promptArgsCheckBox.Active = selectedItem.PromptForArguments; useOutputPadCheckBox.Active = selectedItem.UseOutputPad; } else { SetEnabledStatus(false, dependendControls); titleTextBox.Text = String.Empty; commandTextBox.Text = String.Empty; argumentTextBox.Text = String.Empty; workingDirTextBox.Text = String.Empty; promptArgsCheckBox.Active = false; useOutputPadCheckBox.Active = false; } titleTextBox.Changed += new EventHandler(setToolValues); commandTextBox.Changed += new EventHandler(setToolValues); argumentTextBox.Changed += new EventHandler(setToolValues); workingDirTextBox.Changed += new EventHandler(setToolValues); promptArgsCheckBox.Toggled += new EventHandler(setToolValues); useOutputPadCheckBox.Toggled += new EventHandler(setToolValues); } void removeEvent(object sender, EventArgs e) { int selectedItemCount = toolListBox.Selection.CountSelectedRows(); if(selectedItemCount > 0) { int maxIndex = 0; // first copy the selected item paths into a temp array TreeIter[] selectedIters = new TreeIter[selectedItemCount]; TreeModel lv; GLib.List pathList = toolListBox.Selection.GetSelectedRows(out lv); for(int i = 0; i < selectedItemCount; i++) { TreePath path = (TreePath) pathList[i]; ((ListStore)lv).GetIter(out selectedIters[i], path); maxIndex = path.Indices[0]; } // now delete each item in that list foreach(TreeIter toDelete in selectedIters) { TreeIter itr = toDelete; toolListBoxItemCount --; ((ListStore)lv).Remove(out itr); } if (toolListBoxItemCount == 0) { selectEvent(this, EventArgs.Empty); } else { SetSelectedIndex(toolListBox, Math.Min(maxIndex,toolListBoxItemCount - 1)); } } } void addEvent(object sender, EventArgs e) { TreeIter itr = toolListBoxStore.AppendValues("New Tool", new ExternalTool()); toolListBoxItemCount ++; toolListBox.Selection.UnselectAll(); toolListBox.Selection.SelectIter(itr); } // added this event to get the last select row index from gtk TreeView int GetSelectedIndex(TreeView tv) { if(toolListBox.Selection.CountSelectedRows() == 1) { TreeIter selectedIter; TreeModel lv; ((ListStore)toolListBox.Model).GetIter(out selectedIter, (TreePath) toolListBox.Selection.GetSelectedRows(out lv)[0]); // return index of first level node (since only 1 level list model) return lv.GetPath(selectedIter).Indices[0]; } else { return -1; } } // added this event to set a specific row as selected from index void SetSelectedIndex(TreeView tv, int index) { //convert index to a path TreePath path = new TreePath(index.ToString()); tv.Selection.UnselectAll(); tv.Selection.SelectPath(path); } // disables or enables (sets sensitivty) a specified array of widgets public void SetEnabledStatus(bool enabled, params Widget[] controls) { foreach (Widget control in controls) { if (control == null) { MessageService.ShowError("Control not found!"); } else { control.Sensitive = enabled; } } } } } --=-I0L/+FrgNs872vTgTIpQ-- From madtom1999@yahoo.com Wed Jan 21 20:12:03 2004 From: madtom1999@yahoo.com (=?iso-8859-1?q?tom=20potts?=) Date: Wed, 21 Jan 2004 20:12:03 +0000 (GMT) Subject: [MonoDevelop] more compilation problems Message-ID: <20040121201203.8943.qmail@web41301.mail.yahoo.com> I've now got the lates GTK# from CVS and tried the latest mono but that wont build (corlib.dll problems) so regressed to the last Red-carpet version: Now make on SD gives: make[1]: Leaving directory `/home/tom/mono/MonoDevelop/src/Libraries/MonoDevelop.Gui' Building SharpDevelop.Base make[1]: Entering directory `/home/tom/mono/MonoDevelop/src/Main/Base' ./Internal/Codons/MenuItems/MenuItemCodon.cs(35) error CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression ./Internal/Project/Project/ConvertXml.cs(117) error CS1502: The best overloaded match for method 'void System.Xml.Xsl.XslTransform.Transform (System.Xml.XPath.IXPathNavigable, System.Xml.Xsl.XsltArgumentList, System.IO.TextWriter)' has some invalid arguments ./Internal/Project/Project/ConvertXml.cs(117) error CS1503: Argument 2: Cannot convert from 'System.Xml.XmlSecureResolver' to 'System.IO.TextWriter' ./Internal/Project/Project/ConvertXml.cs(117) error CS1501: No overload for method `Transform' takes `3' arguments ./Internal/Project/Project/ConvertXml.cs(117) error CS8006: Could not find any applicable function for this argument list ./Internal/Project/Project/ConvertXml.cs(127) error CS1502: The best overloaded match for method 'void System.Xml.Xsl.XslTransform.Transform (System.Xml.XPath.IXPathNavigable, System.Xml.Xsl.XsltArgumentList, System.IO.TextWriter)' has some invalid arguments ./Internal/Project/Project/ConvertXml.cs(127) error CS1503: Argument 2: Cannot convert from 'System.Xml.XmlSecureResolver' to 'System.IO.TextWriter' ./Internal/Project/Project/ConvertXml.cs(127) error CS1501: No overload for method `Transform' takes `3' arguments ./Internal/Project/Project/ConvertXml.cs(127) error CS8006: Could not find any applicable function for this argument list Compilation failed: 9 error(s), 0 warnings make[1]: *** [../../../build/bin/SharpDevelop.Base.dll] Error 1 make[1]: Leaving directory `/home/tom/mono/MonoDevelop/src/Main/Base' make: *** [SharpDevelop.Base] Error 2 --------------------------------- more clues Tom ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html From bjennin1@san.rr.com Wed Jan 21 20:26:26 2004 From: bjennin1@san.rr.com (Blair Jennings) Date: Wed, 21 Jan 2004 12:26:26 -0800 Subject: [MonoDevelop] more compilation problems In-Reply-To: <20040121201203.8943.qmail@web41301.mail.yahoo.com> Message-ID: <200401212026.i0LKQPNR006523@ms-smtp-02-eri0.socal.rr.com> I have some updates to fix this I will submit them in an hour or two. (I am currently on my W2K machine and do not have access to my Linux box right now :( blair -----Original Message----- From: monodevelop-list-admin@lists.ximian.com [mailto:monodevelop-list-admin@lists.ximian.com] On Behalf Of tom potts Sent: Wednesday, January 21, 2004 12:12 PM To: monodevelop-list@lists.ximian.com Subject: [MonoDevelop] more compilation problems I've now got the lates GTK# from CVS and tried the latest mono but that wont build (corlib.dll problems) so regressed to the last Red-carpet version: Now make on SD gives: make[1]: Leaving directory `/home/tom/mono/MonoDevelop/src/Libraries/MonoDevelop.Gui' Building SharpDevelop.Base make[1]: Entering directory `/home/tom/mono/MonoDevelop/src/Main/Base' ./Internal/Codons/MenuItems/MenuItemCodon.cs(35) error CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression ./Internal/Project/Project/ConvertXml.cs(117) error CS1502: The best overloaded match for method 'void System.Xml.Xsl.XslTransform.Transform (System.Xml.XPath.IXPathNavigable, System.Xml.Xsl.XsltArgumentList, System.IO.TextWriter)' has some invalid arguments ./Internal/Project/Project/ConvertXml.cs(117) error CS1503: Argument 2: Cannot convert from 'System.Xml.XmlSecureResolver' to 'System.IO.TextWriter' ./Internal/Project/Project/ConvertXml.cs(117) error CS1501: No overload for method `Transform' takes `3' arguments ./Internal/Project/Project/ConvertXml.cs(117) error CS8006: Could not find any applicable function for this argument list ./Internal/Project/Project/ConvertXml.cs(127) error CS1502: The best overloaded match for method 'void System.Xml.Xsl.XslTransform.Transform (System.Xml.XPath.IXPathNavigable, System.Xml.Xsl.XsltArgumentList, System.IO.TextWriter)' has some invalid arguments ./Internal/Project/Project/ConvertXml.cs(127) error CS1503: Argument 2: Cannot convert from 'System.Xml.XmlSecureResolver' to 'System.IO.TextWriter' ./Internal/Project/Project/ConvertXml.cs(127) error CS1501: No overload for method `Transform' takes `3' arguments ./Internal/Project/Project/ConvertXml.cs(127) error CS8006: Could not find any applicable function for this argument list Compilation failed: 9 error(s), 0 warnings make[1]: *** [../../../build/bin/SharpDevelop.Base.dll] Error 1 make[1]: Leaving directory `/home/tom/mono/MonoDevelop/src/Main/Base' make: *** [SharpDevelop.Base] Error 2 --------------------------------- more clues Tom ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html _______________________________________________ Monodevelop-list mailing list Monodevelop-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monodevelop-list From bjennin1@san.rr.com Wed Jan 21 21:37:36 2004 From: bjennin1@san.rr.com (Blair Jennings) Date: Wed, 21 Jan 2004 13:37:36 -0800 Subject: [MonoDevelop] RE:more compilation problems Message-ID: <400EF120.4000402@san.rr.com> This is a multi-part message in MIME format. --------------090601030603000909080208 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Here are the two main compile fixes. I came across these yesterday after doing a totally clean rebuild of my box (I have been out of town for the last week and a half). I checked the MenuItemCodon.cs against the .NET spec and the attribute was defined wrong (calling for as new char() is illegal in an attribute). The ConvertXml.cs issue is one of appropriateness the call in the one in the svn repository is .NET version 1.1 but mono 0.29 is still .NET 1.0 for the System.Xml.Xsl Namespace (I have confirmed this in the Ximian CVS for mcs). Blair Jennings --------------090601030603000909080208 Content-Type: text/plain; name="ConvertXml.cs" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="ConvertXml.cs" // // // // // // using System; using System.IO; using System.Xml; using System.Xml.XPath; using System.Xml.Xsl; using System.Security; using System.Security.Permissions; namespace ICSharpCode.SharpDevelop.Internal.Project { /// /// This class is used to convert xml files using xslt /// public class ConvertXml { /// /// The main module loads the three required input vars /// and performs the transform /// /// /// arg1 - the input file (preferably VS.NET .csproj) /// arg2 - path to XSL transform file /// arg3 - path to output file (preferably SD .prjx) /// public static void Convert(string inputFile, string xslPath, string outputFile) { Convert(inputFile, xslPath, outputFile, null); } public static void Convert(string inputFile, string xslPath, string outputFile, XsltArgumentList xsltArgList) { // Transform the file XmlReader reader = GetXML(inputFile); XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); reader.Close(); // Output results to file path XmlDocument myDoc = new XmlDocument(); myDoc.Load(oTransformed); myDoc.Save(outputFile); } public static void Convert(string inputFile, XmlReader xslReader, string outputFile, XsltArgumentList xsltArgList) { // Transform the file XmlReader reader = GetXML(inputFile); XmlReader oTransformed = TransformXmlToXml(reader, xslReader, xsltArgList); reader.Close(); // Output results to file path XmlDocument myDoc = new XmlDocument(); myDoc.Load(oTransformed); myDoc.Save(outputFile); } public static string ConvertToString(string inputFile, string xslPath) { return ConvertToString(inputFile, xslPath, null); } public static string ConvertToString(string inputFile, string xslPath, XsltArgumentList xsltArgList) { // Transform the file XmlReader reader = GetXML(inputFile); XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); reader.Close(); // Output results to string XmlDocument myDoc = new XmlDocument(); myDoc.Load(oTransformed); StringWriter sw = new StringWriter(); myDoc.Save(sw); return sw.ToString(); } public static string ConvertData(string inputXml, string xslPath, XsltArgumentList xsltArgList) { XmlReader reader = new XmlTextReader(new StringReader(inputXml)); XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); reader.Close(); // Output results to string XmlDocument myDoc = new XmlDocument(); myDoc.Load(oTransformed); StringWriter sw = new StringWriter(); myDoc.Save(sw); return sw.ToString(); } public static string ConvertData(string inputXml, XmlReader xslReader, XsltArgumentList xsltArgList) { XmlReader reader = new XmlTextReader(new StringReader(inputXml)); XmlReader oTransformed = TransformXmlToXml(reader, xslReader, xsltArgList); reader.Close(); // Output results to string XmlDocument myDoc = new XmlDocument(); myDoc.Load(oTransformed); StringWriter sw = new StringWriter(); myDoc.Save(sw); return sw.ToString(); } public static XmlReader TransformXmlToXml(XmlReader oXML, string XSLPath, XsltArgumentList xsltArgList) { XslTransform xslt = new XslTransform(); xslt.Load(XSLPath); XPathDocument inputData = new XPathDocument(oXML); xslt.XmlResolver = new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)); return xslt.Transform(inputData, xsltArgList); } public static XmlReader TransformXmlToXml(XmlReader oXML, XmlReader XSLReader, XsltArgumentList xsltArgList) { XslTransform xslt = new XslTransform(); xslt.Load(XSLReader, new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)), null); XPathDocument inputData = new XPathDocument(oXML); xslt.XmlResolver = new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)); return xslt.Transform(inputData, xsltArgList); } /// /// GetXML returns an XmlReader dependent on the contents /// of the passed input param. /// GetXML checks for the following conditions: /// blank string returns an empty XmlReader /// less-than at start assumes an XML file /// back-slash at start assumes UNC path /// otherwise, URL is assumed /// /// /// public static XmlReader GetXML(string strInput) { // Check if string is blank if (strInput.Length == 0) { // Return the empty xml reader return new XmlTextReader(""); } else { // Check if string starts with "<" // If it does, it is an XML file if (strInput.Substring(0,1) == "<") { //String could be an xml file - load return new XmlTextReader(new StringReader(strInput)); } else { // Assume this is a file path - return loaded XML return new XmlTextReader(strInput); } } } } } --------------090601030603000909080208 Content-Type: text/plain; name="MenuItemCodon.cs" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="MenuItemCodon.cs" // // // // // // using System; using System.Diagnostics; using System.Collections; using System.Reflection; //using System.Windows.Forms; using ICSharpCode.Core.Properties; using ICSharpCode.Core.AddIns.Conditions; using ICSharpCode.Core.Services; using ICSharpCode.SharpDevelop.Services; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui.Components; using ICSharpCode.SharpDevelop.Commands; namespace ICSharpCode.Core.AddIns.Codons { [CodonName("MenuItem")] public class MenuItemCodon : AbstractCodon { [XmlMemberAttribute("label", IsRequired=true)] string label = null; [XmlMemberAttribute("description")] string description = null; [XmlMemberArrayAttribute("shortcut",Separator='|')] string[] shortcut = null; [XmlMemberAttribute("icon")] string icon = null; [XmlMemberAttribute("link")] string link = null; public string Link { get { return link; } set { link = value; } } public override bool HandleConditions { get { return true; } } public string Label { get { return label; } set { label = value; } } public string Description { get { return description; } set { description = value; } } public string Icon { get { return icon; } set { icon = value; } } public string[] Shortcut { get { return shortcut; } set { shortcut = value; } } /// /// Creates an item with the specified sub items. And the current /// Condition status for this item. /// public override object BuildItem(object owner, ArrayList subItems, ConditionCollection conditions) { Gtk.MenuItem newItem = null; if (Label == "-") { newItem = new SdMenuSeparator(conditions, owner); } else if (Link != null) { newItem = new SdMenuCommand(conditions, null, Label, Link.StartsWith("http") ? (IMenuCommand)new GotoWebSite(Link) : (IMenuCommand)new GotoLink(Link)); } else { object o = null; if (Class != null) { o = AddIn.CreateObject(Class); } if (o != null) { if (o is IMenuCommand) { IMenuCommand menuCommand = (IMenuCommand)o; menuCommand.Owner = owner; if (o is ICheckableMenuCommand) { newItem = new SdMenuCheckBox(conditions, owner, Label, (ICheckableMenuCommand)menuCommand); } else { newItem = new SdMenuCommand(conditions, owner, Label, menuCommand); } } else if (o is ISubmenuBuilder) { return o; } } } if (newItem == null) { SdMenu newMenu = new SdMenu(conditions, owner, Label); if (subItems != null && subItems.Count > 0) { foreach (object item in subItems) { if (item != null) { newMenu.SubItems.Add(item); } } } newMenu.UpdateStatus (); newItem = newMenu; } Debug.Assert(newItem != null); if (Icon != null && newItem is SdMenuCommand) { ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService)); ((SdMenuCommand)newItem).Image = resourceService.GetImage(Icon, Gtk.IconSize.Menu); } if (newItem is SdMenuCommand) { ((SdMenuCommand)newItem).Description = description; } if (Shortcut != null && newItem is SdMenuCommand) { try { ((SdMenuCommand)newItem).SetAccel (shortcut); //foreach (string key in this.shortcut) { // ((SdMenuCommand)newItem).Shortcut |= (System.Windows.Forms.Keys)Enum.Parse(typeof(System.Windows.Forms.Keys), key); //} } catch (Exception) { //((SdMenuCommand)newItem).Shortcut = System.Windows.Forms.Keys.None; } } //newItem.IsEnabled = true; //action != ConditionFailedAction.Disable; return newItem; } } } --------------090601030603000909080208-- From jluke@users.sourceforge.net Wed Jan 21 21:47:10 2004 From: jluke@users.sourceforge.net (John Luke) Date: Wed, 21 Jan 2004 16:47:10 -0500 Subject: [MonoDevelop] more compilation problems In-Reply-To: <20040121201203.8943.qmail@web41301.mail.yahoo.com> References: <20040121201203.8943.qmail@web41301.mail.yahoo.com> Message-ID: <1074721630.19317.47.camel@shark.jluke.com> On Wed, 2004-01-21 at 20:12 +0000, tom potts wrote: > I've now got the lates GTK# from CVS and tried the > latest mono but that wont build (corlib.dll problems) > so regressed to the last Red-carpet version: Unfortunately, you will have to use cvs or wait for Mono 0.30 which will be coming out in the not too distant future. There are things that will not work with 0.29. From tberman@sevenl.net Wed Jan 21 22:03:08 2004 From: tberman@sevenl.net (Todd Berman) Date: Wed, 21 Jan 2004 17:03:08 -0500 Subject: [MonoDevelop] RE:more compilation problems In-Reply-To: <400EF120.4000402@san.rr.com> References: <400EF120.4000402@san.rr.com> Message-ID: <1074722588.1198.1.camel@proton> These are all legal in cvs, and the attribute has to be legal on .NET cause its what #D uses and compiles with on windows :) For MD you *must* be using mono and gtk-sharp from cvs for right now. I know this is an inconveinence, but we needed patches in both to get working what we have :) --Todd On Wed, 2004-01-21 at 16:37, Blair Jennings wrote: > Here are the two main compile fixes. I came across these yesterday after > doing a totally clean rebuild of my box (I have been out of town for the > last week and a half). I checked the MenuItemCodon.cs against the .NET > spec and the attribute was defined wrong (calling for as new char() is > illegal in an attribute). The ConvertXml.cs issue is one of > appropriateness the call in the one in the svn repository is .NET > version 1.1 but mono 0.29 is still .NET 1.0 for the System.Xml.Xsl > Namespace (I have confirmed this in the Ximian CVS for mcs). > > Blair Jennings > > ______________________________________________________________________ > // > // > // > // > // > // > > using System; > using System.IO; > using System.Xml; > using System.Xml.XPath; > using System.Xml.Xsl; > using System.Security; > using System.Security.Permissions; > > namespace ICSharpCode.SharpDevelop.Internal.Project > { > /// > /// This class is used to convert xml files using xslt > /// > public class ConvertXml > { > /// > /// The main module loads the three required input vars > /// and performs the transform > /// > /// > /// arg1 - the input file (preferably VS.NET .csproj) > /// arg2 - path to XSL transform file > /// arg3 - path to output file (preferably SD .prjx) > /// > public static void Convert(string inputFile, string xslPath, string outputFile) > { > Convert(inputFile, xslPath, outputFile, null); > } > public static void Convert(string inputFile, string xslPath, string outputFile, XsltArgumentList xsltArgList) > { > // Transform the file > XmlReader reader = GetXML(inputFile); > XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); > reader.Close(); > > // Output results to file path > XmlDocument myDoc = new XmlDocument(); > myDoc.Load(oTransformed); > myDoc.Save(outputFile); > } > > public static void Convert(string inputFile, XmlReader xslReader, string outputFile, XsltArgumentList xsltArgList) > { > // Transform the file > XmlReader reader = GetXML(inputFile); > XmlReader oTransformed = TransformXmlToXml(reader, xslReader, xsltArgList); > reader.Close(); > > // Output results to file path > XmlDocument myDoc = new XmlDocument(); > myDoc.Load(oTransformed); > myDoc.Save(outputFile); > } > > public static string ConvertToString(string inputFile, string xslPath) > { > return ConvertToString(inputFile, xslPath, null); > } > > public static string ConvertToString(string inputFile, string xslPath, XsltArgumentList xsltArgList) > { > // Transform the file > XmlReader reader = GetXML(inputFile); > XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); > reader.Close(); > > // Output results to string > XmlDocument myDoc = new XmlDocument(); > myDoc.Load(oTransformed); > StringWriter sw = new StringWriter(); > myDoc.Save(sw); > return sw.ToString(); > } > > public static string ConvertData(string inputXml, string xslPath, XsltArgumentList xsltArgList) > { > XmlReader reader = new XmlTextReader(new StringReader(inputXml)); > XmlReader oTransformed = TransformXmlToXml(reader, xslPath, xsltArgList); > reader.Close(); > > // Output results to string > XmlDocument myDoc = new XmlDocument(); > myDoc.Load(oTransformed); > StringWriter sw = new StringWriter(); > myDoc.Save(sw); > return sw.ToString(); > } > > public static string ConvertData(string inputXml, XmlReader xslReader, XsltArgumentList xsltArgList) > { > XmlReader reader = new XmlTextReader(new StringReader(inputXml)); > XmlReader oTransformed = TransformXmlToXml(reader, xslReader, xsltArgList); > reader.Close(); > > // Output results to string > XmlDocument myDoc = new XmlDocument(); > myDoc.Load(oTransformed); > StringWriter sw = new StringWriter(); > myDoc.Save(sw); > return sw.ToString(); > } > > public static XmlReader TransformXmlToXml(XmlReader oXML, string XSLPath, XsltArgumentList xsltArgList) > { > XslTransform xslt = new XslTransform(); > xslt.Load(XSLPath); > > XPathDocument inputData = new XPathDocument(oXML); > xslt.XmlResolver = new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)); > > return xslt.Transform(inputData, xsltArgList); > } > > public static XmlReader TransformXmlToXml(XmlReader oXML, XmlReader XSLReader, XsltArgumentList xsltArgList) > { > XslTransform xslt = new XslTransform(); > xslt.Load(XSLReader, new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)), null); > > XPathDocument inputData = new XPathDocument(oXML); > xslt.XmlResolver = new XmlSecureResolver(new XmlUrlResolver(), new PermissionSet(PermissionState.Unrestricted)); > return xslt.Transform(inputData, xsltArgList); > } > > /// > /// GetXML returns an XmlReader dependent on the contents > /// of the passed input param. > /// GetXML checks for the following conditions: > /// blank string returns an empty XmlReader > /// less-than at start assumes an XML file > /// back-slash at start assumes UNC path > /// otherwise, URL is assumed > /// > /// > /// > public static XmlReader GetXML(string strInput) > { > // Check if string is blank > if (strInput.Length == 0) { > // Return the empty xml reader > return new XmlTextReader(""); > } else { > // Check if string starts with "<" > // If it does, it is an XML file > if (strInput.Substring(0,1) == "<") > { > //String could be an xml file - load > return new XmlTextReader(new StringReader(strInput)); > } > else > { > // Assume this is a file path - return loaded XML > return new XmlTextReader(strInput); > } > } > } > } > } > > ______________________________________________________________________ > // > // > // > // > // > // > > using System; > using System.Diagnostics; > using System.Collections; > using System.Reflection; > //using System.Windows.Forms; > > using ICSharpCode.Core.Properties; > using ICSharpCode.Core.AddIns.Conditions; > > using ICSharpCode.Core.Services; > > using ICSharpCode.SharpDevelop.Services; > using ICSharpCode.SharpDevelop.Gui; > using ICSharpCode.SharpDevelop.Gui.Components; > using ICSharpCode.SharpDevelop.Commands; > > namespace ICSharpCode.Core.AddIns.Codons > { > [CodonName("MenuItem")] > public class MenuItemCodon : AbstractCodon > { > [XmlMemberAttribute("label", IsRequired=true)] > string label = null; > > [XmlMemberAttribute("description")] > string description = null; > > [XmlMemberArrayAttribute("shortcut",Separator='|')] > string[] shortcut = null; > > [XmlMemberAttribute("icon")] > string icon = null; > > [XmlMemberAttribute("link")] > string link = null; > > public string Link { > get { > return link; > } > set { > link = value; > } > } > > public override bool HandleConditions { > get { > return true; > } > } > > public string Label { > get { > return label; > } > set { > label = value; > } > } > > public string Description { > get { > return description; > } > set { > description = value; > } > } > > public string Icon { > get { > return icon; > } > set { > icon = value; > } > } > > public string[] Shortcut { > get { > return shortcut; > } > set { > shortcut = value; > } > } > > /// > /// Creates an item with the specified sub items. And the current > /// Condition status for this item. > /// > public override object BuildItem(object owner, ArrayList subItems, ConditionCollection conditions) > { > Gtk.MenuItem newItem = null; > if (Label == "-") { > newItem = new SdMenuSeparator(conditions, owner); > } else if (Link != null) { > newItem = new SdMenuCommand(conditions, null, Label, Link.StartsWith("http") ? (IMenuCommand)new GotoWebSite(Link) : (IMenuCommand)new GotoLink(Link)); > } else { > object o = null; > if (Class != null) { > o = AddIn.CreateObject(Class); > } > if (o != null) { > if (o is IMenuCommand) { > IMenuCommand menuCommand = (IMenuCommand)o; > menuCommand.Owner = owner; > if (o is ICheckableMenuCommand) { > newItem = new SdMenuCheckBox(conditions, owner, Label, (ICheckableMenuCommand)menuCommand); > } else { > newItem = new SdMenuCommand(conditions, owner, Label, menuCommand); > } > } else if (o is ISubmenuBuilder) { > return o; > } > } > } > if (newItem == null) { > SdMenu newMenu = new SdMenu(conditions, owner, Label); > if (subItems != null && subItems.Count > 0) { > foreach (object item in subItems) { > if (item != null) { > newMenu.SubItems.Add(item); > } > } > } > newMenu.UpdateStatus (); > newItem = newMenu; > } > Debug.Assert(newItem != null); > > if (Icon != null && newItem is SdMenuCommand) { > ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService)); > ((SdMenuCommand)newItem).Image = resourceService.GetImage(Icon, Gtk.IconSize.Menu); > } > > if (newItem is SdMenuCommand) { > ((SdMenuCommand)newItem).Description = description; > } > > if (Shortcut != null && newItem is SdMenuCommand) { > try { > ((SdMenuCommand)newItem).SetAccel (shortcut); > //foreach (string key in this.shortcut) { > // ((SdMenuCommand)newItem).Shortcut |= (System.Windows.Forms.Keys)Enum.Parse(typeof(System.Windows.Forms.Keys), key); > //} > } catch (Exception) { > //((SdMenuCommand)newItem).Shortcut = System.Windows.Forms.Keys.None; > } > } > //newItem.IsEnabled = true; //action != ConditionFailedAction.Disable; > return newItem; > } > } > } From blair@san.rr.com Wed Jan 21 22:12:49 2004 From: blair@san.rr.com (Blair Jennings) Date: 21 Jan 2004 14:12:49 -0800 Subject: [MonoDevelop] Possible mono bug. Message-ID: <1074723169.3866.12.camel@blair.sa-solutions.com> OK, I am running mono 0.29 from Red Carpet with the GTK# from CVS (pulled last night); and I am getting this error when I load a perfectly good MonoDevelop Combine (I have loaded into #D on an W2K box to confirm that it is not the #D code). ** (MonoDevelop:4124): WARNING **: Cannot load type 'ICSharpCode.SharpDevelop.Internal.Project' An exception occurred: A null value was found where an object instance was required in (unmanaged) /usr/lib/libmono.so.0(mono_class_from_mono_type+0x16) [0x400e 72c8] in (unmanaged) /usr/lib/libmono.so.0(mono_type_get_object+0x1f) [0x400926a9] in (unmanaged) /usr/lib/libmono.so.0 [0x40093ecd] in (unmanaged) /usr/lib/libmono.so.0 [0x40094532] in (unmanaged) /usr/lib/libmono.so.0(mono_custom_attrs_construct+0xb9)[0x400948 87] in (unmanaged)/usr/lib/libmono.so.0(mono_reflection_get_custom_attrs+0x266) [0x 40095198] in [0x0002b] (at /cvs/mcs/class/corlib/System/MonoCustomAttrs.cs:31) System.Mono CustomAttrs:from_cache(System.Reflection.ICustomAttributeProvider) in [0x00014] (at /cvs/mcs/class/corlib/System/MonoCustomAttrs.cs:77) System.Mono CustomAttrs:GetCustomAttributes(System.Reflection.ICustomAttributeProvider,Syst em.Type,bool) in [0x00003] (at /cvs/mcs/class/corlib/System.Reflection/MonoField.cs:71) System .Reflection.MonoField:GetCustomAttributes (System.Type,bool) in [0x0002b] (at /home/blair/MonoDevelop/trunk/MonoDevelop/src/Main/Base/Internal/Project/Project/AbstractProject.cs:324) ICSharpCode.SharpDevelop.Internal.Proj ect.AbstractProject:GetXmlAttributes (System.Xml.XmlDocument,System.Xml.XmlElement,object) The Monodevelop code showing the problem is: ConvertToRelativePathAttribute[] convertToRelPath = (ConvertToRelativePathAttribute[])fieldInfo.GetCustomAttributes(typeof(ConvertToRelativePathAttribute), true); Where the CustomAttribute returns as a single element array. Any help would be appreciated I have been banging my head against this for at least a week. Thanks, Blair From tberman@sevenl.net Thu Jan 22 00:55:44 2004 From: tberman@sevenl.net (Todd Berman) Date: Wed, 21 Jan 2004 19:55:44 -0500 Subject: [MonoDevelop] Possible mono bug. In-Reply-To: <1074723169.3866.12.camel@blair.sa-solutions.com> References: <1074723169.3866.12.camel@blair.sa-solutions.com> Message-ID: <1074732943.1401.5.camel@proton> And now you know why you need mono from cvs :) --Todd On Wed, 2004-01-21 at 17:12, Blair Jennings wrote: > OK, I am running mono 0.29 from Red Carpet with the GTK# from CVS > (pulled last night); and I am getting this error when I load a perfectly > good MonoDevelop Combine (I have loaded into #D on an W2K box to confirm > that it is not the #D code). > > > > ** (MonoDevelop:4124): WARNING **: Cannot load type > 'ICSharpCode.SharpDevelop.Internal.Project' > An exception occurred: A null value was found where an object instance > was required in (unmanaged) > /usr/lib/libmono.so.0(mono_class_from_mono_type+0x16) [0x400e > 72c8] > in (unmanaged) /usr/lib/libmono.so.0(mono_type_get_object+0x1f) > [0x400926a9] > in (unmanaged) /usr/lib/libmono.so.0 [0x40093ecd] > in (unmanaged) /usr/lib/libmono.so.0 [0x40094532] > in (unmanaged) > /usr/lib/libmono.so.0(mono_custom_attrs_construct+0xb9)[0x400948 > 87] > in > (unmanaged)/usr/lib/libmono.so.0(mono_reflection_get_custom_attrs+0x266) > [0x > 40095198] > in [0x0002b] (at /cvs/mcs/class/corlib/System/MonoCustomAttrs.cs:31) > System.Mono > CustomAttrs:from_cache(System.Reflection.ICustomAttributeProvider) > in [0x00014] (at /cvs/mcs/class/corlib/System/MonoCustomAttrs.cs:77) > System.Mono > CustomAttrs:GetCustomAttributes(System.Reflection.ICustomAttributeProvider,Syst > em.Type,bool) > in [0x00003] (at > /cvs/mcs/class/corlib/System.Reflection/MonoField.cs:71) System > .Reflection.MonoField:GetCustomAttributes (System.Type,bool) > in [0x0002b] (at > /home/blair/MonoDevelop/trunk/MonoDevelop/src/Main/Base/Internal/Project/Project/AbstractProject.cs:324) ICSharpCode.SharpDevelop.Internal.Proj > ect.AbstractProject:GetXmlAttributes > (System.Xml.XmlDocument,System.Xml.XmlElement,object) > > The Monodevelop code showing the problem is: > ConvertToRelativePathAttribute[] convertToRelPath = > (ConvertToRelativePathAttribute[])fieldInfo.GetCustomAttributes(typeof(ConvertToRelativePathAttribute), true); > > Where the CustomAttribute returns as a single element array. > > Any help would be appreciated I have been banging my head against this > for at least a week. > > Thanks, > > Blair > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From pedroabelleira@yahoo.es Thu Jan 22 07:23:33 2004 From: pedroabelleira@yahoo.es (=?iso-8859-1?q?Pedro=20Abelleira=20Seco?=) Date: Thu, 22 Jan 2004 08:23:33 +0100 (CET) Subject: [MonoDevelop] TextEditor performance In-Reply-To: <1074648558.19317.33.camel@shark.jluke.com> Message-ID: <20040122072333.25188.qmail@web40904.mail.yahoo.com> I can't to work on this (or any other thing) right now, as I'm not recovered yet and I'll need 2-4 weeks off. I barely read the mail and test monodevelop updates. If nobody wants to work on this I can redo the textview when back. It should be not difficult, but a little boring and probably we have more important things to achieve first. If somebody wants to work on this he only have to look at the TreeView class. If advice is needed you can drop me an email, but be prepared for high latency. See you --- John Luke escribió: > Hello, > There has been some discussions about the current > performance of the > text editor control on irc. I thought it would be > useful to mention > some of the ideas here so everyone is aware of them, > they are not lost, > and we can proceed further. > First, there is a few notes in > samples/MonoPad/TODO, and a couple bugs > in bugzilla. The main reason it is slow is because > we are not taking > advantage of Pango attributes when we draw the text. > There is also many > posts on gtk-app-devel-list about pango performance > which we should take > into consideration, and looking at some of the > existing gtk/pango text > widgets should help. > It is also possible that we could rework the text > widget to use > gtksourceview-sharp to handle the text drawing, but > I'm not sure that > will be faster than the current method. Ben has > looked into this some I > think and perhaps he will follow up with some more > thoughts. > Finally, I don't think that me or Todd have time to > do this right now, > so unless Pedro is interested in it, I think it > would need to wait until > the initial porting is complete. However, if > someone else is so > inclined that would be great, just try and announce > your plans here. > > Thanks, > John > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From jluke@users.sourceforge.net Thu Jan 22 21:04:19 2004 From: jluke@users.sourceforge.net (John Luke) Date: Thu, 22 Jan 2004 16:04:19 -0500 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: References: Message-ID: <1074805459.5309.3.camel@shark.jluke.com> --=-1pldzIogmAFH4aJ8mc+u Content-Type: text/plain Content-Transfer-Encoding: 7bit On Thu, 2004-01-15 at 10:26 +0000, Jonathan Darrer wrote: > I've put together a simple Form. If someone would like to port it to Gtk# to > demonstrate the process. Here is roughly the same thing in Gtk#, but I didn't port the original code, I just wrote it from the screenshot. Keep in mind it would be slightly different using Glade and/or Gnome in addition to Gtk. Also, I could have done a better job with the spacing. mcs WinForm.cs -r gtk-sharp --=-1pldzIogmAFH4aJ8mc+u Content-Disposition: attachment; filename=WinForm.cs Content-Type: application/octet-stream; name=WinForm.cs Content-Transfer-Encoding: 7bit using System; using Gtk; using GtkSharp; class WinForm { Entry entry; Label bigLabel; static void Main (string[] args) { new WinForm (); } WinForm () { Application.Init (); Window win = new Window ("Sample Winform"); win.SetDefaultSize (400, 300); win.DeleteEvent += new DeleteEventHandler (OnWindowDelete); win.BorderWidth = 12; VBox vbox = new VBox (false, 0); Frame frame = new Frame (); vbox.PackStart (frame); VBox inner = new VBox (false, 6); inner.PackStart (new Label ("Type into the textbox and press the button."), false, true, 0); HBox hbox = new HBox (false, 0); entry = new Entry (); Button pressme = new Button ("Press Me!"); pressme.Clicked += new EventHandler (OnClicked); hbox.PackStart (entry, false, true, 0); hbox.PackStart (pressme, false, false, 0); inner.PackStart (hbox, false, true, 0); bigLabel = new Label (); inner.PackStart (bigLabel, true, true, 0); frame.Add (inner); win.Add (vbox); win.ShowAll(); Application.Run (); } void OnClicked (object o, EventArgs args) { bigLabel.Markup = "" + entry.Text + ""; } void OnWindowDelete (object obj, DeleteEventArgs args) { Application.Quit(); } } --=-1pldzIogmAFH4aJ8mc+u-- From jas_lists@gmx.net Thu Jan 22 23:41:56 2004 From: jas_lists@gmx.net (Jasper van Putten) Date: Fri, 23 Jan 2004 00:41:56 +0100 Subject: [MonoDevelop] S.W.F -> Gtk# Mappings In-Reply-To: <1074805459.5309.3.camel@shark.jluke.com> References: <1074805459.5309.3.camel@shark.jluke.com> Message-ID: <40105FC4.5070103@gmx.net> This is a multi-part message in MIME format. --------------000801000309090706060605 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit John Luke wrote: >On Thu, 2004-01-15 at 10:26 +0000, Jonathan Darrer wrote: > > >>I've put together a simple Form. If someone would like to port it to Gtk# to >>demonstrate the process. >> >> > >Here is roughly the same thing in Gtk#, but I didn't port the original >code, I just wrote it from the screenshot. Keep in mind it would be >slightly different using Glade and/or Gnome in addition to Gtk. Also, I >could have done a better job with the spacing. >mcs WinForm.cs -r gtk-sharp > > Here is the same thing, but done with Glade. Jasper --------------000801000309090706060605 Content-Type: text/plain; name="gtkForm.cs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="gtkForm.cs" using System; using Gtk; using GtkSharp; using Glade; class WinForm { [Glade.Widget] Entry entry; [Glade.Widget] Label bigLabel; static void Main (string[] args) { new WinForm (); } WinForm () { Application.Init (); Glade.XML gxml = new Glade.XML ("file.glade", "window1", null); gxml.Autoconnect (this); Application.Run(); } void OnClicked (object o, EventArgs args) { bigLabel.Markup = "" + entry.Text + ""; } void OnWindowDelete (object obj, DeleteEventArgs args) { Application.Quit(); } } --------------000801000309090706060605 Content-Type: text/xml; name="file.glade" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="file.glade" True Sample gtk# form with glade GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False 0 True True _File True True gtk-new True True gtk-open True True gtk-save True True gtk-save-as True True True gtk-quit True True _Edit True True gtk-cut True True gtk-copy True True gtk-paste True True gtk-delete True True _View True True _Help True True _About True 0 False False 14 True 0 0.5 GTK_SHADOW_ETCHED_IN True False 0 True Type into the textbox and press the button. False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True False 0 True True True True 0 True * False 11 True False True True Press Me! True GTK_RELIEF_NORMAL 6 False False 0 True True True False 0 True False True GTK_JUSTIFY_LEFT False False 0.46 0.5 69 0 0 False False 0 True True True False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 label_item 1 True True --------------000801000309090706060605-- From marco.canini@fastwebnet.it Fri Jan 23 15:11:14 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Fri, 23 Jan 2004 16:11:14 +0100 Subject: [MonoDevelop] Strange Message-ID: <1074870673.789.6.camel@debian> http://www.eweek.com/article2/0,4149,1455604,00.asp?kc=EWRSS03119TX1K0000594 Probably they will bring some Mono plugins into Eclipse I guess. Couldn't be better if Novell support MD instead of Eclipse? -- Marco Canini From mike@icsharpcode.net Fri Jan 23 15:30:21 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Fri, 23 Jan 2004 16:30:21 +0100 Subject: [MonoDevelop] Strange In-Reply-To: <1074870673.789.6.camel@debian> References: <1074870673.789.6.camel@debian> Message-ID: <40113E0D.3000309@icsharpcode.net> Hi MonoDevelop is currently 'in progress' (I hope that it will rock under linux :)) and even if it is ready novell can't do anything wrong with supporting both. Nobody can say what happens in 5 years therefore it is mostly safer to be 'anywhere' (at least for a company). And keep in mind that Eclipse has great java support which #D misses. All we can do is to enhance MD (and #D :)) and show all people which great piece of software it is. Regards Mike >http://www.eweek.com/article2/0,4149,1455604,00.asp?kc=EWRSS03119TX1K0000594 > >Probably they will bring some Mono plugins into Eclipse I guess. >Couldn't be better if Novell support MD instead of Eclipse? > > > From gtk-sharp-list@web.de Fri Jan 23 18:10:15 2004 From: gtk-sharp-list@web.de (Franz Burgmann) Date: Fri, 23 Jan 2004 19:10:15 +0100 Subject: [MonoDevelop] where to download from? Message-ID: <40116387.70900@web.de> hello, for about 2 days now I'm not able to get new versions of MonoDevelop. The mirror svn://207.44.131.184/svn/monodevelop seems to be down. Does there exist a solution I don't know about? Thank you. Franz From hgomez_36@flashmail.com Sat Jan 24 03:59:43 2004 From: hgomez_36@flashmail.com (Hector E. Gomez Morales) Date: Fri, 23 Jan 2004 21:59:43 -0600 Subject: [MonoDevelop] where to download from? In-Reply-To: <40116387.70900@web.de> References: <40116387.70900@web.de> Message-ID: <1074916783.30113.3.camel@spivaka.uninet.mx> Hi I use the public mirror too, the thing is that the mirror is so slow for some reason that if you don't let the svn process run for a while to begin the update you could think the mirror is down, for now just let the svn process for a while and it will update. On Fri, 2004-01-23 at 12:10, Franz Burgmann wrote: > hello, > > for about 2 days now I'm not able to get new versions of MonoDevelop. > > The mirror svn://207.44.131.184/svn/monodevelop seems to be down. > > Does there exist a solution I don't know about? > > Thank you. > > Franz > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From jba-mono@optusnet.com.au Sat Jan 24 09:18:47 2004 From: jba-mono@optusnet.com.au (John BouAntoun) Date: Sat, 24 Jan 2004 20:18:47 +1100 Subject: [MonoDevelop] Glade question Message-ID: <1074935927.3116.1.camel@nkotb> Guys, I did some work on a dialog and gladed it up. Then i did a svn up and found that someone else had checked in changes to the Base.glade file. Is there a quick way to move my dialog from Base.glade.mine to Base.glade.r625 ? I don't want to have to go and re-create it again. Regards, JBA From jba-mono@optusnet.com.au Sat Jan 24 09:57:19 2004 From: jba-mono@optusnet.com.au (John BouAntoun) Date: Sat, 24 Jan 2004 20:57:19 +1100 Subject: [MonoDevelop] Howto use Treeview Cell Data Function Message-ID: <1074938200.4750.2.camel@nkotb> Hey guys, I have treeview that has a liststore of complex objects. I wanted to map some text cell renderers to different string properties of the complex object. I figured out that I need a CellDataFunction and have the signature correct, but I have no idea what to do inside the CellDataFunction to get it to render properly. Some help (an example even) would be much appreciation. For simplicity's sake lets just say the complex object looked something like this class complexObject { string firstString {get;}; string secondString {get;}; } how would I get those two properties to render in the separate columns of a treeview? Thanks in advance JBA From jba-mono@optusnet.com.au Sat Jan 24 10:41:31 2004 From: jba-mono@optusnet.com.au (John BouAntoun) Date: Sat, 24 Jan 2004 21:41:31 +1100 Subject: [MonoDevelop] Howto use Treeview Cell Data Function Message-ID: <1074938200.4750.2.camel@nkotb> Hey guys, I have treeview that has a liststore of complex objects. I wanted to map some text cell renderers to different string properties of the complex object. I figured out that I need a CellDataFunction and have the signature correct, but I have no idea what to do inside the CellDataFunction to get it to render properly. Some help (an example even) would be much appreciation. For simplicity's sake lets just say the complex object looked something like this class complexObject { string firstString {get;}; string secondString {get;}; } how would I get those two properties to render in the separate columns of a treeview? Thanks in advance JBA From gtk-sharp-list@web.de Sat Jan 24 11:17:02 2004 From: gtk-sharp-list@web.de (Franz Burgmann) Date: Sat, 24 Jan 2004 12:17:02 +0100 Subject: [MonoDevelop] error: Activating panel4 Message-ID: <4012542E.6090502@web.de> hello, two little bugs I encountered while using your really fine IDE MonoDevelop: during database creation at the point "Activating panel4" the program stops. When I restart MonoDevelop everything seems fine and code completion is functioning. Since build616 I'm getting an error message when I'm closing MonoDevelop: ** ERROR **: Must shutdown ORB from main thread aborting... Franz From jluke@users.sourceforge.net Sat Jan 24 17:16:34 2004 From: jluke@users.sourceforge.net (John Luke) Date: Sat, 24 Jan 2004 12:16:34 -0500 Subject: [MonoDevelop] error: Activating panel4 In-Reply-To: <4012542E.6090502@web.de> References: <4012542E.6090502@web.de> Message-ID: <1074964594.6013.3.camel@shark.jluke.com> On Sat, 2004-01-24 at 12:17 +0100, Franz Burgmann wrote: > hello, > > two little bugs I encountered while using your really fine IDE MonoDevelop: > > during database creation at the point "Activating panel4" the program > stops. When I restart MonoDevelop everything seems fine and code > completion is functioning. Yes, that is a known bug, and the correct workaround for now. > > Since build616 I'm getting an error message when I'm closing MonoDevelop: > > ** ERROR **: Must shutdown ORB from main thread > aborting... > This is a bug in ORBit2, upgrading to version 2.8.3 or newer should fix this for you. (it's listed as a requirement in the README) From jluke@users.sourceforge.net Sat Jan 24 17:19:25 2004 From: jluke@users.sourceforge.net (John Luke) Date: Sat, 24 Jan 2004 12:19:25 -0500 Subject: [MonoDevelop] Glade question In-Reply-To: <1074935927.3116.1.camel@nkotb> References: <1074935927.3116.1.camel@nkotb> Message-ID: <1074964765.6013.5.camel@shark.jluke.com> On Sat, 2004-01-24 at 20:18 +1100, John BouAntoun wrote: > Guys, > > I did some work on a dialog and gladed it up. Then i did a svn up and > found that someone else had checked in changes to the Base.glade file. > > Is there a quick way to move my dialog from Base.glade.mine to > Base.glade.r625 ? I don't want to have to go and re-create it again. > The easiest way is to manually merge your changes, unless svn has some built in conflict tools that I am not aware of yet. From jluke@users.sourceforge.net Sat Jan 24 17:22:12 2004 From: jluke@users.sourceforge.net (John Luke) Date: Sat, 24 Jan 2004 12:22:12 -0500 Subject: [MonoDevelop] Howto use Treeview Cell Data Function In-Reply-To: <1074938200.4750.2.camel@nkotb> References: <1074938200.4750.2.camel@nkotb> Message-ID: <1074964932.6013.8.camel@shark.jluke.com> On Sat, 2004-01-24 at 20:57 +1100, John BouAntoun wrote: > Hey guys, > > I have treeview that has a liststore of complex objects. > > I wanted to map some text cell renderers to different string properties > of the complex object. > > I figured out that I need a CellDataFunction and have the signature > correct, but I have no idea what to do inside the CellDataFunction to > get it to render properly. > > Some help (an example even) would be much appreciation. > > For simplicity's sake lets just say the complex object looked something > like this > > class complexObject { > string firstString {get;}; > string secondString {get;}; > } > > how would I get those two properties to render in the separate columns > of a treeview? > You could just make two columns and add firstString to column 0 and secondString to column 1. From ramon.rey@hispalinux.es Sat Jan 24 18:12:06 2004 From: ramon.rey@hispalinux.es (Ramon Rey Vicente) Date: Sat, 24 Jan 2004 19:12:06 +0100 Subject: [MonoDevelop] Glade question In-Reply-To: <1074935927.3116.1.camel@nkotb> References: <1074935927.3116.1.camel@nkotb> Message-ID: <1074967924.15179.4.camel@debian> --=-6+fh6I9X70z2NjoEEFCz Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable El s=C3=A1b, 24-01-2004 a las 10:18, John BouAntoun escribi=C3=B3: > Guys, >=20 > I did some work on a dialog and gladed it up. Then i did a svn up and > found that someone else had checked in changes to the Base.glade file. >=20 > Is there a quick way to move my dialog from Base.glade.mine to > Base.glade.r625 ? I don't want to have to go and re-create it again. For the next time, "svn status" is the command you want to run before update the local repository. --=20 Ram=C3=B3n Rey Vicente jabber ID GPG public key ID 0xBEBD71D5 -> http://pgp.escomposlinux.org/ --=-6+fh6I9X70z2NjoEEFCz Content-Type: application/pgp-signature; name=signature.asc Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBAErVzRGk68b69cdURAj3MAJ9c2uytNbSAHQ7qjd51+L4EXTqmTQCbBdjl Miq/On7VWlDSWZ3cvhnKhSQ= =uyK/ -----END PGP SIGNATURE----- --=-6+fh6I9X70z2NjoEEFCz-- From mrproper@ximian.com Sun Jan 25 23:52:09 2004 From: mrproper@ximian.com (Kevin Breit) Date: Sun, 25 Jan 2004 18:52:09 -0500 Subject: [MonoDevelop] MonoDevelop and Mono .30-Preview Message-ID: <1075074728.2359.1.camel@kbreit.resnet.nmu.edu> Hey guys, I have tested MonoDevelop on Mono .30-Preview today. Everything worked out of the box, according to directions. My checkout of MonoDevelop is slightly older because of svn being down, but you should be okay. Kevin Breit From tberman@sevenl.net Mon Jan 26 06:05:37 2004 From: tberman@sevenl.net (Todd Berman) Date: Mon, 26 Jan 2004 01:05:37 -0500 Subject: [MonoDevelop] Heads up Message-ID: <1075097136.1333.2.camel@proton> I just committed code that will require you to update gtk-sharp from cvs. --Todd From bjennin1@san.rr.com Mon Jan 26 06:52:25 2004 From: bjennin1@san.rr.com (Blair Jennings) Date: Sun, 25 Jan 2004 22:52:25 -0800 Subject: [MonoDevelop] Somebody please clean up the anon svn repository Message-ID: <4014B929.5040706@san.rr.com> And maybe even the working repository too. The admin needs to shutdown svnserve then run: svnadmin recover /path/to/repos Because the Berkley DB crashed / was interupted in the middle of an action or ??? and left around a lockfile which is interfering with getting updates from svn. Please Please Please fix this. Thanks, Blair P.S. I have seen this before (I have been working with svn for almost a year); and it is the most argravating issue with svn I know of. From jluke@users.sourceforge.net Mon Jan 26 23:52:56 2004 From: jluke@users.sourceforge.net (John Luke) Date: Mon, 26 Jan 2004 18:52:56 -0500 Subject: [MonoDevelop] assembly names Message-ID: <1075161176.27005.4.camel@shark.jluke.com> Just a heads up that next time you update you should do a make clean, as most of the assemblies now have MonoDevelop-ish names and versions. From daschewie@PunkAss.com Tue Jan 27 16:04:22 2004 From: daschewie@PunkAss.com (Jesus Garcia) Date: Tue, 27 Jan 2004 11:04:22 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView Message-ID: <20040127155332.AD477C23B54@smtp-3.hotpop.com> This is a multi-part message in MIME format. ------=_NextPart_000_0015_01C3E4C5.58A7AD60 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit I read the text buffer is going to be migrated to GtkSourceView for scalability and usability. I have been using Anjuta(based on scintilla) for a few months, it supports code folding and auto complete features. I would like to suggest using Scintilla over GtkSourceView, so we can gain the new functionality without writing to much code. Links: http://www.scintilla.org/ http://anjuta.sourceforge.net/ Thanks, Jesus ------=_NextPart_000_0015_01C3E4C5.58A7AD60 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I read the text buffer is going to be migrated to GtkSourceView for scalability and usability. I have been using = Anjuta(based on scintilla) for a few months, it supports code folding and auto complete features. I would like to suggest using Scintilla over GtkSourceView, so = we can gain the new functionality without writing to much = code.

 

Links:

http://www.scintilla.org/

 

http://anjuta.sourceforge.net/

 

Thanks,

Jesus

------=_NextPart_000_0015_01C3E4C5.58A7AD60-- From mike@icsharpcode.net Tue Jan 27 16:14:55 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Tue, 27 Jan 2004 17:14:55 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <20040127155332.AD477C23B54@smtp-3.hotpop.com> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> Message-ID: <40168E7F.1080702@icsharpcode.net> Hi I think that the text editor should be done in C# and the #Develop source code editor does fine (you're using a translated version for MonoDevelop, right?). It's much easier to change a C# text editor than any C project. Maybe someone will develop the C# text editor further as stand alone project... I think that C/C++ should 'die' as mainstream application development language in the future and it doesn't help much for a C# project to add uneccessary C/C++ dependencies. Regards Mike > I read the text buffer is going to be migrated to GtkSourceView for > scalability and usability. I have been using Anjuta(based on > scintilla) for a few months, it supports code folding and auto > complete features. I would like to suggest using Scintilla over > GtkSourceView, so we can gain the new functionality without writing to > much code. > > > > Links: > > http://www.scintilla.org/ > > > > http://anjuta.sourceforge.net/ > > > > Thanks, > > Jesus > From bmaurer@users.sourceforge.net Tue Jan 27 16:16:03 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Tue, 27 Jan 2004 11:16:03 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <20040127155332.AD477C23B54@smtp-3.hotpop.com> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> Message-ID: <1075220163.22734.17.camel@Ben> Yes we know about this and have made the choice to not go this path for a few reasons: * Scintilla does not do rendering as nicely as GtkSourceView; no pango use, it looks horrible. * Code folding should really get into GtkSourceView. I have heard that adding support for it is in their plans. * Scintilla would be a dependency that is not in the GNOME platform. As well, I am going to be making the buffer very plugable. Please feel free to maintain your own Scintilla bindings, if you feel you need it. We would probably be happy to host them on svn as an optional plugin. -- Ben On Tue, 2004-01-27 at 11:04, Jesus Garcia wrote: > I read the text buffer is going to be migrated to GtkSourceView for > scalability and usability. I have been using Anjuta(based on > scintilla) for a few months, it supports code folding and auto > complete features. I would like to suggest using Scintilla over > GtkSourceView, so we can gain the new functionality without writing to > much code. > > > > Links: > > http://www.scintilla.org/ > > > > http://anjuta.sourceforge.net/ > > > > Thanks, > > Jesus > > From bmaurer@users.sourceforge.net Tue Jan 27 16:36:12 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Tue, 27 Jan 2004 11:36:12 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <40168E7F.1080702@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <40168E7F.1080702@icsharpcode.net> Message-ID: <1075221371.22734.32.camel@Ben> Hello Mike, GtkSourceView is a part of the GNOME platform. It is used by gedit (the GNOME version of notepad). It is also being used by the next-generation C/C++ IDE, Scaffold. The widget is based on the work in GtkTextView, the GTK+ text widget. It is not going away. There are a few reasons we want to get the GTK+ buffer wrapped. If you have not read my blog already, please do, it is a great introduction to this. However, let me give it in short here: * With GtkSourceView, the buffer *feels* like all other buffers on the desktop. The *standard* gtk+ text view widget alone consists of over 15k lines of carefully tuned code. This is just for non-syntaxhighlighting, standard editing. It takes care of subtle problems such as i18n, a10y, l10n, (did i get my numbers right ;-), drag and drop inside the buffer, font layout, and other things i cant think of. In addition, GtkSourceView is more thousands of lines that take care of subtle invalidation cases, printing and such. These are issues that we really dont want to deal with. * With GtkSourceView I can file bugs upstream. This allows us to focus on core issues. * GtkSourceView is much, much faster than the C# buffer will ever be. I have a pre-alpha version working right now, there is a world of difference. Your buffer is very well designed, I quite admire it; however, it really, really does not stand a chance against the time tested buffer that GTK+ has. On windows, where there is not such great support for buffers, your path is really great. However, on GTK+, we have platform support, and we should use it. This is like a swing vs. native GUI issue from my perspective. -- Ben On Tue, 2004-01-27 at 11:14, Mike Krueger wrote: > Hi > > I think that the text editor should be done in C# and the #Develop > source code editor does fine (you're > using a translated version for MonoDevelop, right?). > It's much easier to change a C# text editor than any C project. Maybe > someone will develop the C# text editor > further as stand alone project... I think that C/C++ should 'die' as > mainstream application development language in > the future and it doesn't help much for a C# project to add uneccessary > C/C++ dependencies. > > Regards > Mike > > > I read the text buffer is going to be migrated to GtkSourceView for > > scalability and usability. I have been using Anjuta(based on > > scintilla) for a few months, it supports code folding and auto > > complete features. I would like to suggest using Scintilla over > > GtkSourceView, so we can gain the new functionality without writing to > > much code. > > > > > > > > Links: > > > > http://www.scintilla.org/ > > > > > > > > http://anjuta.sourceforge.net/ > > > > > > > > Thanks, > > > > Jesus > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From bmaurer@users.sourceforge.net Tue Jan 27 16:36:12 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Tue, 27 Jan 2004 11:36:12 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <40168E7F.1080702@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <40168E7F.1080702@icsharpcode.net> Message-ID: <1075221371.22734.32.camel@Ben> Hello Mike, GtkSourceView is a part of the GNOME platform. It is used by gedit (the GNOME version of notepad). It is also being used by the next-generation C/C++ IDE, Scaffold. The widget is based on the work in GtkTextView, the GTK+ text widget. It is not going away. There are a few reasons we want to get the GTK+ buffer wrapped. If you have not read my blog already, please do, it is a great introduction to this. However, let me give it in short here: * With GtkSourceView, the buffer *feels* like all other buffers on the desktop. The *standard* gtk+ text view widget alone consists of over 15k lines of carefully tuned code. This is just for non-syntaxhighlighting, standard editing. It takes care of subtle problems such as i18n, a10y, l10n, (did i get my numbers right ;-), drag and drop inside the buffer, font layout, and other things i cant think of. In addition, GtkSourceView is more thousands of lines that take care of subtle invalidation cases, printing and such. These are issues that we really dont want to deal with. * With GtkSourceView I can file bugs upstream. This allows us to focus on core issues. * GtkSourceView is much, much faster than the C# buffer will ever be. I have a pre-alpha version working right now, there is a world of difference. Your buffer is very well designed, I quite admire it; however, it really, really does not stand a chance against the time tested buffer that GTK+ has. On windows, where there is not such great support for buffers, your path is really great. However, on GTK+, we have platform support, and we should use it. This is like a swing vs. native GUI issue from my perspective. -- Ben On Tue, 2004-01-27 at 11:14, Mike Krueger wrote: > Hi > > I think that the text editor should be done in C# and the #Develop > source code editor does fine (you're > using a translated version for MonoDevelop, right?). > It's much easier to change a C# text editor than any C project. Maybe > someone will develop the C# text editor > further as stand alone project... I think that C/C++ should 'die' as > mainstream application development language in > the future and it doesn't help much for a C# project to add uneccessary > C/C++ dependencies. > > Regards > Mike > > > I read the text buffer is going to be migrated to GtkSourceView for > > scalability and usability. I have been using Anjuta(based on > > scintilla) for a few months, it supports code folding and auto > > complete features. I would like to suggest using Scintilla over > > GtkSourceView, so we can gain the new functionality without writing to > > much code. > > > > > > > > Links: > > > > http://www.scintilla.org/ > > > > > > > > http://anjuta.sourceforge.net/ > > > > > > > > Thanks, > > > > Jesus > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From bmaurer@users.sourceforge.net Tue Jan 27 17:49:41 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Tue, 27 Jan 2004 12:49:41 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075221371.22734.32.camel@Ben> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <40168E7F.1080702@icsharpcode.net> <1075221371.22734.32.camel@Ben> Message-ID: <1075225780.22734.37.camel@Ben> On Tue, 2004-01-27 at 11:36, Ben Maurer wrote: > a10y For those of you who are wondering: this should be a11y, http://www.google.com/search?q=a11y From bmaurer@users.sourceforge.net Tue Jan 27 17:56:02 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Tue, 27 Jan 2004 12:56:02 -0500 Subject: [MonoDevelop] HEADS UP: GtkSourceView dependency Message-ID: <1075226162.22734.41.camel@Ben> Hey guys, GtkSourceView is about to become a dependency. You need the C libraries, version .7 or greater. You can get that from Red Carpet. It is also a part of the 2.4 platform, so you may have it. You also need the C# wrappings. They are in Mono cvs under the module `gtksourceview-sharp'. You can build with the standard: /autogen.sh; make; make install; Make sure to install to the same prefix as gtk#. -- Ben From mike@icsharpcode.net Tue Jan 27 18:18:25 2004 From: mike@icsharpcode.net (Mike =?ISO-8859-1?Q?Kr=FCger?=) Date: Tue, 27 Jan 2004 19:18:25 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075221371.22734.32.camel@Ben> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <40168E7F.1080702@icsharpcode.net> <1075221371.22734.32.camel@Ben> Message-ID: <1075227505.2415.57.camel@linux.local> Hi > There are a few reasons we want to get the GTK+ buffer wrapped. If you > have not read my blog already, please do, it is a great introduction to > this. However, let me give it in short here: > > * With GtkSourceView, the buffer *feels* like all other buffers on > the desktop. The *standard* gtk+ text view widget alone consists > of over 15k lines of carefully tuned code. This is just for > non-syntaxhighlighting, standard editing. It takes care of > subtle problems such as i18n, a10y, l10n, (did i get my numbers > right ;-), drag and drop inside the buffer, font layout, and > other things i cant think of. In addition, GtkSourceView is more > thousands of lines that take care of subtle invalidation cases, > printing and such. These are issues that we really dont want to > deal with. > * With GtkSourceView I can file bugs upstream. This allows us to > focus on core issues. > * GtkSourceView is much, much faster than the C# buffer will ever > be. I have a pre-alpha version working right now, there is a > world of difference. Your buffer is very well designed, I quite > admire it; however, it really, really does not stand a chance > against the time tested buffer that GTK+ has. > > On windows, where there is not such great support for buffers, your path > is really great. However, on GTK+, we have platform support, and we > should use it. > > This is like a swing vs. native GUI issue from my perspective. > Ok I've read your blog and you convinced me :) (even if that doesn't currently care anyone) Overally I agree with you that using the GtkSourceView has more advantages than using the #Develop text editor widget which is indeed a 'work around' for the windows situation. I don't know how much work it is to use the GtkSourceView widget inside MonoDevelop because some #D source code might build up on the Document layer but I don't think that this is much. I would like to see MonoDevelop in action :) (currently I'm working on the VB.NET support of #Develop and code folding) Regards Mike From jesus_garcia@wgresorts.com Tue Jan 27 15:53:09 2004 From: jesus_garcia@wgresorts.com (Jesus Garcia) Date: Tue, 27 Jan 2004 10:53:09 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0011_01C3E4C3.C0A1CA10 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit I read the text buffer is going to be migrated to GtkSourceView for scalability and usability. I have been using Anjuta(based on scintilla) for a few months, it supports code folding and auto complete features. I would like to suggest using Scintilla over GtkSourceView, so we can gain the new functionality without writing to much code. Links: http://www.scintilla.org/ http://anjuta.sourceforge.net/ Thanks, Jesus ------=_NextPart_000_0011_01C3E4C3.C0A1CA10 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable ------=_NextPart_000_0011_01C3E4C3.C0A1CA10-- From mike@icsharpcode.net Wed Jan 28 14:47:02 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Wed, 28 Jan 2004 15:47:02 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <20040127155332.AD477C23B54@smtp-3.hotpop.com> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> Message-ID: <4017CB66.9000008@icsharpcode.net> Hi One advantage of Scintilla is that it HAS folding and many other features and it could be used inside #Develop too (GtkSourceView would be a step backward for the windows version) this will enhance the future compatibility of #Develop and MonoDevelop if we choose to do it this way. I don't know if you have seen this: http://sourceforge.net/projects/scide/ this is the beginning of a wrapper for scintilla ... I don't know if there are more out there. Regards Mike > I read the text buffer is going to be migrated to GtkSourceView for > scalability and usability. I have been using Anjuta(based on > scintilla) for a few months, it supports code folding and auto > complete features. I would like to suggest using Scintilla over > GtkSourceView, so we can gain the new functionality without writing to > much code. > > > > Links: > > http://www.scintilla.org/ > > > > http://anjuta.sourceforge.net/ > > > > Thanks, > > Jesus > From bmaurer@users.sourceforge.net Wed Jan 28 15:01:34 2004 From: bmaurer@users.sourceforge.net (Ben Maurer) Date: Wed, 28 Jan 2004 10:01:34 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <4017CB66.9000008@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> Message-ID: <1075302093.22734.75.camel@Ben> I actually use SciTE for my editor right now :-). Folding is in the plans for SourceView, so I would rather push this then rely on Scintilla. The problem with Scintilla is that it is not very well integrated with GNOME. The idea here is to make an editor that, as I stated on my blog, feels as native to Linux as VS.net does on Windows. If I wanted 5000 editor features, we would be binding vim or emacs, anyways :-). If someone *really* wants folding, I am sure the gtksourceview team would love and be happy to check in any patch. Ditto for any other feature. -- Ben On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: > Hi > > One advantage of Scintilla is that it HAS folding and many other > features and it could be used inside #Develop too (GtkSourceView would > be a step backward for the windows version) this will enhance the future > compatibility of #Develop and MonoDevelop if we choose to do > it this way. I don't know if you have seen this: > http://sourceforge.net/projects/scide/ this is the beginning of a > wrapper for scintilla ... I don't know > if there are more out there. > > Regards > Mike > > > I read the text buffer is going to be migrated to GtkSourceView for > > scalability and usability. I have been using Anjuta(based on > > scintilla) for a few months, it supports code folding and auto > > complete features. I would like to suggest using Scintilla over > > GtkSourceView, so we can gain the new functionality without writing to > > much code. > > > > > > > > Links: > > > > http://www.scintilla.org/ > > > > > > > > http://anjuta.sourceforge.net/ > > > > > > > > Thanks, > > > > Jesus > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From marco.canini@fastwebnet.it Wed Jan 28 16:07:01 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Wed, 28 Jan 2004 17:07:01 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075302093.22734.75.camel@Ben> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> Message-ID: <1075306020.1453.6.camel@debian> Here's my suggestion: don't preclude any way! In eclipse the editor is not one, there's a collection of editors and they implement a common interface. I don't think there would be too much penalty in doing it so also in MD. So you can use sourceview, scintilla, maybe a vim binding, etc... What do you think? On Wed, 2004-01-28 at 16:01, Ben Maurer wrote: > I actually use SciTE for my editor right now :-). > > Folding is in the plans for SourceView, so I would rather push this then > rely on Scintilla. > > The problem with Scintilla is that it is not very well integrated with > GNOME. The idea here is to make an editor that, as I stated on my blog, > feels as native to Linux as VS.net does on Windows. > > If I wanted 5000 editor features, we would be binding vim or emacs, > anyways :-). > > If someone *really* wants folding, I am sure the gtksourceview team > would love and be happy to check in any patch. Ditto for any other > feature. > > -- Ben > > On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: > > Hi > > > > One advantage of Scintilla is that it HAS folding and many other > > features and it could be used inside #Develop too (GtkSourceView would > > be a step backward for the windows version) this will enhance the future > > compatibility of #Develop and MonoDevelop if we choose to do > > it this way. I don't know if you have seen this: > > http://sourceforge.net/projects/scide/ this is the beginning of a > > wrapper for scintilla ... I don't know > > if there are more out there. > > > > Regards > > Mike > > > > > I read the text buffer is going to be migrated to GtkSourceView for > > > scalability and usability. I have been using Anjuta(based on > > > scintilla) for a few months, it supports code folding and auto > > > complete features. I would like to suggest using Scintilla over > > > GtkSourceView, so we can gain the new functionality without writing to > > > much code. > > > > > > > > > > > > Links: > > > > > > http://www.scintilla.org/ > > > > > > > > > > > > http://anjuta.sourceforge.net/ > > > > > > > > > > > > Thanks, > > > > > > Jesus > > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list -- Marco Canini From mike@icsharpcode.net Wed Jan 28 16:51:30 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Wed, 28 Jan 2004 17:51:30 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075306020.1453.6.camel@debian> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> Message-ID: <4017E892.20507@icsharpcode.net> Hi An editor in eclipse is what we call 'view'. Views from eclipse are called 'pads' in the #Develop. Other than that we've many interfaces which views may implement some are doing the 'editor job'. It is possible to use any editor (or view) you want. But sometimes the editor is used directly (for example in the forms designer but that shouldn't matter because the winforms designer won't be usuable under mono anytime soon). Regards Mike >Here's my suggestion: >don't preclude any way! > >In eclipse the editor is not one, there's a collection of editors and >they implement a common interface. > >I don't think there would be too much penalty in doing it so also in MD. >So you can use sourceview, scintilla, maybe a vim binding, etc... > >What do you think? > > From tberman@sevenl.net Wed Jan 28 18:34:32 2004 From: tberman@sevenl.net (Todd Berman) Date: Wed, 28 Jan 2004 13:34:32 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075306020.1453.6.camel@debian> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> Message-ID: <1075314871.1324.14.camel@proton> Ben is working as part of this new editor, a common binding assembly that implements all the menu items/dialogs that you expect from a source buffer. This will mean that if someone decides to write a new editor (mmmmm, vim binding anyone?) you will have a common set of Interfaces to inherit and handle to get it embedded into MD, and your find will look like the find people expect irrespective of your source buffer of choice. --Todd On Wed, 2004-01-28 at 11:07, Marco Canini wrote: > Here's my suggestion: > don't preclude any way! > > In eclipse the editor is not one, there's a collection of editors and > they implement a common interface. > > I don't think there would be too much penalty in doing it so also in MD. > So you can use sourceview, scintilla, maybe a vim binding, etc... > > What do you think? > > On Wed, 2004-01-28 at 16:01, Ben Maurer wrote: > > I actually use SciTE for my editor right now :-). > > > > Folding is in the plans for SourceView, so I would rather push this then > > rely on Scintilla. > > > > The problem with Scintilla is that it is not very well integrated with > > GNOME. The idea here is to make an editor that, as I stated on my blog, > > feels as native to Linux as VS.net does on Windows. > > > > If I wanted 5000 editor features, we would be binding vim or emacs, > > anyways :-). > > > > If someone *really* wants folding, I am sure the gtksourceview team > > would love and be happy to check in any patch. Ditto for any other > > feature. > > > > -- Ben > > > > On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: > > > Hi > > > > > > One advantage of Scintilla is that it HAS folding and many other > > > features and it could be used inside #Develop too (GtkSourceView would > > > be a step backward for the windows version) this will enhance the future > > > compatibility of #Develop and MonoDevelop if we choose to do > > > it this way. I don't know if you have seen this: > > > http://sourceforge.net/projects/scide/ this is the beginning of a > > > wrapper for scintilla ... I don't know > > > if there are more out there. > > > > > > Regards > > > Mike > > > > > > > I read the text buffer is going to be migrated to GtkSourceView for > > > > scalability and usability. I have been using Anjuta(based on > > > > scintilla) for a few months, it supports code folding and auto > > > > complete features. I would like to suggest using Scintilla over > > > > GtkSourceView, so we can gain the new functionality without writing to > > > > much code. > > > > > > > > > > > > > > > > Links: > > > > > > > > http://www.scintilla.org/ > > > > > > > > > > > > > > > > http://anjuta.sourceforge.net/ > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Jesus > > > > > > > _______________________________________________ > > > Monodevelop-list mailing list > > > Monodevelop-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list From mike@icsharpcode.net Wed Jan 28 19:17:02 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Wed, 28 Jan 2004 20:17:02 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075314871.1324.14.camel@proton> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> <1075314871.1324.14.camel@proton> Message-ID: <40180AAE.3050604@icsharpcode.net> Hi Don't make it TOO easy ... if you want to make an abstract editor wrapper you'll need to wrap >many< functionality. #Develop was desinged not just beeing a C# IDE (which was the top priority however) but instead it should be a platform for 'any' language and people should be able to easily integrate their own languages ... MonoDevelop will go down the same road right ? In this case keep in mind that MD will be >extensible< at many >points<. Language bindings should contain their own editor stuff like: + Smart Indenting + Folding strategies + Custom highlighters and markers (IDEA does do this quite good ... for C# a better highlighting would be good) etc. Therefore it is better to support just ONE editor ... this simplifies much and there is NO point to write a 'wrapper' which is as big as a editor on it's own :) and the editor should be configurable through the 'options' therefore each editor needs the same set of options (that is almost never the case) or bring it's own options pane... which may be rather annoying for the user. And one philosophy of the add-in tree based approach is : !!! ADD DON'T REPLACE !!! Switching the editor might be fun for some people (there are some people out there which requested the vim editor for #D) but for the most programmers this feature is not useful and it adds too much uneccessary problems to the code ... try to make clean, small code and think as a 'user' of the tool when adding functionality and try to think a bit in the future. Regards Mike >Ben is working as part of this new editor, a common binding assembly >that implements all the menu items/dialogs that you expect from a source >buffer. This will mean that if someone decides to write a new editor >(mmmmm, vim binding anyone?) you will have a common set of Interfaces to >inherit and handle to get it embedded into MD, and your find will look >like the find people expect irrespective of your source buffer of >choice. > >--Todd > >On Wed, 2004-01-28 at 11:07, Marco Canini wrote: > > >>Here's my suggestion: >>don't preclude any way! >> >>In eclipse the editor is not one, there's a collection of editors and >>they implement a common interface. >> >>I don't think there would be too much penalty in doing it so also in MD. >>So you can use sourceview, scintilla, maybe a vim binding, etc... >> >>What do you think? >> >>On Wed, 2004-01-28 at 16:01, Ben Maurer wrote: >> >> >>>I actually use SciTE for my editor right now :-). >>> >>>Folding is in the plans for SourceView, so I would rather push this then >>>rely on Scintilla. >>> >>>The problem with Scintilla is that it is not very well integrated with >>>GNOME. The idea here is to make an editor that, as I stated on my blog, >>>feels as native to Linux as VS.net does on Windows. >>> >>>If I wanted 5000 editor features, we would be binding vim or emacs, >>>anyways :-). >>> >>>If someone *really* wants folding, I am sure the gtksourceview team >>>would love and be happy to check in any patch. Ditto for any other >>>feature. >>> >>>-- Ben >>> >>>On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: >>> >>> >>>>Hi >>>> >>>>One advantage of Scintilla is that it HAS folding and many other >>>>features and it could be used inside #Develop too (GtkSourceView would >>>>be a step backward for the windows version) this will enhance the future >>>>compatibility of #Develop and MonoDevelop if we choose to do >>>>it this way. I don't know if you have seen this: >>>>http://sourceforge.net/projects/scide/ this is the beginning of a >>>>wrapper for scintilla ... I don't know >>>>if there are more out there. >>>> >>>>Regards >>>>Mike >>>> >>>> >>>> >>>>>I read the text buffer is going to be migrated to GtkSourceView for >>>>>scalability and usability. I have been using Anjuta(based on >>>>>scintilla) for a few months, it supports code folding and auto >>>>>complete features. I would like to suggest using Scintilla over >>>>>GtkSourceView, so we can gain the new functionality without writing to >>>>>much code. >>>>> >>>>> >>>>> >>>>>Links: >>>>> >>>>>http://www.scintilla.org/ >>>>> >>>>> >>>>> >>>>>http://anjuta.sourceforge.net/ >>>>> >>>>> >>>>> >>>>>Thanks, >>>>> >>>>>Jesus >>>>> >>>>> >>>>> >>>>_______________________________________________ >>>>Monodevelop-list mailing list >>>>Monodevelop-list@lists.ximian.com >>>>http://lists.ximian.com/mailman/listinfo/monodevelop-list >>>> >>>> >>>_______________________________________________ >>>Monodevelop-list mailing list >>>Monodevelop-list@lists.ximian.com >>>http://lists.ximian.com/mailman/listinfo/monodevelop-list >>> >>> > > > > > From mike@icsharpcode.net Wed Jan 28 19:33:42 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Wed, 28 Jan 2004 20:33:42 +0100 Subject: [MonoDevelop] GtkSourceView Question In-Reply-To: <40180AAE.3050604@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> <1075314871.1324.14.camel@proton> <40180AAE.3050604@icsharpcode.net> Message-ID: <40180E96.5030605@icsharpcode.net> Hi I only want to know if it is possible to change (better: add) to the drawing of the GtkSourceView. This will be an important point in the future for adding more nice stuff (folding and line numbers won't be the last). For some language the bindings might want to add something to editor drawing. For example: In the #Develop model there are 'margins' and I could imagine some features which add a margin right after the text to add extra information or features which mark some parts of the code for example with a rectangle. One feature which IS important for an IDE is extensibility of the text editor and I only want to point that out. (shame on me that I haven't looked at the GtkSourceView wrapper maybe you could already do all this) Regards Mike From marco.canini@fastwebnet.it Wed Jan 28 21:54:18 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Wed, 28 Jan 2004 22:54:18 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <40180AAE.3050604@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> <1075314871.1324.14.camel@proton> <40180AAE.3050604@icsharpcode.net> Message-ID: <1075326858.1464.8.camel@debian> Hello Mike, On Wed, 2004-01-28 at 20:17, Mike Krueger wrote: > Hi > > Don't make it TOO easy ... if you want to make an abstract editor > wrapper you'll need to wrap >many< > functionality. > #Develop was desinged not just beeing a C# IDE (which was the top > priority however) but instead it should be a platform > for 'any' language and people should be able to easily integrate their > own languages ... MonoDevelop will go down the same > road right ? > In this case keep in mind that MD will be >extensible< at many >points<. > Language bindings should contain their own > editor stuff like: > + Smart Indenting > + Folding strategies > + Custom highlighters and markers (IDEA does do this quite good ... for > C# a better highlighting would be good) > etc. > > Therefore it is better to support just ONE editor ... this simplifies > much and there is NO point to write a 'wrapper' > which is as big as a editor on it's own :) and the editor should be > configurable through the 'options' therefore each > editor needs the same set of options (that is almost never the case) or > bring it's own options pane... which may I agree with you that every external editor is a story for itself, and that making a good general wrap could be heavily discouraged and unnecessary. But I've some concerns about what you say by proposing only one existing "editor" (sourceview or scintilla) and arguing that the IDE and the editor must be heavily customizable, while you said #D has the same philosophy as eclipse by allowing more editors to be used in the right context, so not only one editor. And if you only choose one editor and you go tied to it then you have to take care of portability (if you want it) > be rather annoying for the user. And one philosophy of the add-in tree > based approach is : > > !!! ADD DON'T REPLACE !!! > > Switching the editor might be fun for some people (there are some people > out there which requested the vim editor for #D) > but for the most programmers this feature is not useful and it adds too > much uneccessary problems to the code ... try to > make clean, small code and think as a 'user' of the tool when adding > functionality and try to think a bit in the future. > > Regards > Mike > > >Ben is working as part of this new editor, a common binding assembly > >that implements all the menu items/dialogs that you expect from a source > >buffer. This will mean that if someone decides to write a new editor > >(mmmmm, vim binding anyone?) you will have a common set of Interfaces to > >inherit and handle to get it embedded into MD, and your find will look > >like the find people expect irrespective of your source buffer of > >choice. > > > >--Todd > > > >On Wed, 2004-01-28 at 11:07, Marco Canini wrote: > > > > > >>Here's my suggestion: > >>don't preclude any way! > >> > >>In eclipse the editor is not one, there's a collection of editors and > >>they implement a common interface. > >> > >>I don't think there would be too much penalty in doing it so also in MD. > >>So you can use sourceview, scintilla, maybe a vim binding, etc... > >> > >>What do you think? > >> > >>On Wed, 2004-01-28 at 16:01, Ben Maurer wrote: > >> > >> > >>>I actually use SciTE for my editor right now :-). > >>> > >>>Folding is in the plans for SourceView, so I would rather push this then > >>>rely on Scintilla. > >>> > >>>The problem with Scintilla is that it is not very well integrated with > >>>GNOME. The idea here is to make an editor that, as I stated on my blog, > >>>feels as native to Linux as VS.net does on Windows. > >>> > >>>If I wanted 5000 editor features, we would be binding vim or emacs, > >>>anyways :-). > >>> > >>>If someone *really* wants folding, I am sure the gtksourceview team > >>>would love and be happy to check in any patch. Ditto for any other > >>>feature. > >>> > >>>-- Ben > >>> > >>>On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: > >>> > >>> > >>>>Hi > >>>> > >>>>One advantage of Scintilla is that it HAS folding and many other > >>>>features and it could be used inside #Develop too (GtkSourceView would > >>>>be a step backward for the windows version) this will enhance the future > >>>>compatibility of #Develop and MonoDevelop if we choose to do > >>>>it this way. I don't know if you have seen this: > >>>>http://sourceforge.net/projects/scide/ this is the beginning of a > >>>>wrapper for scintilla ... I don't know > >>>>if there are more out there. > >>>> > >>>>Regards > >>>>Mike > >>>> > >>>> > >>>> > >>>>>I read the text buffer is going to be migrated to GtkSourceView for > >>>>>scalability and usability. I have been using Anjuta(based on > >>>>>scintilla) for a few months, it supports code folding and auto > >>>>>complete features. I would like to suggest using Scintilla over > >>>>>GtkSourceView, so we can gain the new functionality without writing to > >>>>>much code. > >>>>> > >>>>> > >>>>> > >>>>>Links: > >>>>> > >>>>>http://www.scintilla.org/ > >>>>> > >>>>> > >>>>> > >>>>>http://anjuta.sourceforge.net/ > >>>>> > >>>>> > >>>>> > >>>>>Thanks, > >>>>> > >>>>>Jesus > >>>>> > >>>>> > >>>>> > >>>>_______________________________________________ > >>>>Monodevelop-list mailing list > >>>>Monodevelop-list@lists.ximian.com > >>>>http://lists.ximian.com/mailman/listinfo/monodevelop-list > >>>> > >>>> > >>>_______________________________________________ > >>>Monodevelop-list mailing list > >>>Monodevelop-list@lists.ximian.com > >>>http://lists.ximian.com/mailman/listinfo/monodevelop-list > >>> > >>> > > > > > > > > > > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list -- Marco Canini From mike@icsharpcode.net Thu Jan 29 08:31:05 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Thu, 29 Jan 2004 09:31:05 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <1075326858.1464.8.camel@debian> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> <1075314871.1324.14.camel@proton> <40180AAE.3050604@icsharpcode.net> <1075326858.1464.8.camel@debian> Message-ID: <4018C4C9.8050607@icsharpcode.net> Hi >I agree with you that every external editor is a story for itself, and >that making a good general wrap could be heavily discouraged and >unnecessary. >But I've some concerns about what you say by proposing only one existing >"editor" (sourceview or scintilla) and arguing that the IDE and the >editor must be heavily customizable, while you said #D has the same >philosophy as eclipse by allowing more editors to be used in the right >context, so not only one editor. >And if you only choose one editor and you go tied to it then you have to >take care of portability (if you want it) > > > And again an 'editor' in eclipse model is NOT a text editor. It is something we call a 'view'. It is a window which pops up when you open a file (in the middle area of the IDE). This can be a text editor or an assembly browser, html editor, xml editor etc. Even eclipse has only ONE text editor. Add-Ins should be able to CHANGE the text editor behaviour or drawing by adding commands or 'painters' how do you do this without knowing which text editor you use inside the IDE ? If you are able to use more than one how do you solve the problem: - That custom drawings look 'right' in each of these editors - That adding commands is possilbe (maybe the key combo is used in this editor) ... a language binding for #D currently is generally: + A syntax highlighting file ---> The editor should use this ... good luck with wrapping 'syntax highlighting' definitions to more than one text editor. + Compiler (with project support)/parser/resolver and maybe an ambience for the IDE + Panels for the project configuration + It brings a Folding strategy ---> That is a class which creates folding markers a tree structure (not only as 'fold levels' for lines which most editors seem to use. + A custom smart indenter (yes this should be configurable too) Now think some time in the future and there may be many more extension points inside the editor currently there a three. It is not only easier to use one text editor it is a must if you want extensibility. Using more than one text editor hasn't to do something with 'customization' more with 'adding uneccessary complexity to the code, annoy the user and killing future extensions'. I haven't got good answers to my questions yet I only want to help the project with my experience in IDE programming. Thats why I propose following extension points for an editor: + Editor commands + Smart indenting and source code beautifier + Folding + Drawing (margins and 'line' drawing) That is what the wrapper for GtkSourceView should allow ... if it can't I suggest using another approach because using now GtkSourceView and another editor in the future is double (maybe more) work. I don't know what you think but maybe a text editor written in C# is easier accessible in C# than a wrapped text editor in C. Regards Mike From belinarega@yahoo.it Thu Jan 29 10:07:34 2004 From: belinarega@yahoo.it (=?iso-8859-1?q?pinco=20pallino?=) Date: Thu, 29 Jan 2004 11:07:34 +0100 (CET) Subject: [MonoDevelop] Informations Message-ID: <20040129100734.30196.qmail@web25202.mail.ukl.yahoo.com> --0-1453590071-1075370854=:28433 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Dear friends, I am looking for some informations: -What is Monodevelop (a definition)? -What is the level of development? -What are all known bugs? Thanks for yours replies. --------------------------------- Yahoo! Mail: 6MB di spazio gratuito, 30MB per i tuoi allegati, l'antivirus, il filtro Anti-spam --0-1453590071-1075370854=:28433 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit
Dear friends,
I am looking for some informations:
-What is Monodevelop (a definition)?
-What is the level of development?
-What are all known bugs?
 
Thanks for yours replies.
 



Yahoo! Mail: 6MB di spazio gratuito, 30MB per i tuoi allegati, l'antivirus, il filtro Anti-spam --0-1453590071-1075370854=:28433-- From 05mauben@hawken.edu Thu Jan 29 17:13:26 2004 From: 05mauben@hawken.edu (Ben Maurer) Date: Thu, 29 Jan 2004 12:13:26 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView Message-ID: (Todd, please approve this to the list...) Yes, I realize that we will have to abstract many things. Basically, there = are two paths we take for different issues: 1) Push it back to gtksourceview I want to do this for features that you would see in any editor. Like = smart indenting, Folding strategies, highlighters, markers, etc. GtkSourceV= Iew can allow us to provide the data we need. For items like folding, this = gives you guys 100% freedom in the editor -- we wont have to backport to = MD. For items like extra markers, we have to be careful to provide a = platform neutral binding. 2) Keep it in MD A great example here is code templates. Also, code generation goes here = too. We have to implement these inside c# because they cannot be generalize= d to the C widget. To maintain portability, it is critical that we use = implementation neutral code. That means no references to IDocument, for = example; because our binding will not have that. I would be happy to work = with you guys to make an API that allows us to easily swap in either impl. On linux, we are clearly going with sourceview. From the beta version, it = feels much more natural than the custom buffer. I cannot begin to list the = ways in which this is true. Lets take the small things -- the syntax = highlighting in gedit and MD is the same. This is great, because i love = gedit, and it helps me as a user to not have a weird switch between the = two impls. Secondly, I am able to use the middle mouse button to copy and = paste text via the X server. This is important to many old-school = developers. For this reason, it is pretty critical that we allow the editor to be = pluggable. Not so much so that a person can switch in VIM at will, but so = that we can share code MD <-> SD. I would note that the code is actually getting smaller by making the = editor wrapper. -- Ben >>> Mike Krueger 01/28/04 14:18 PM >>> Hi Don't make it TOO easy ... if you want to make an abstract editor=20 wrapper you'll need to wrap >many< functionality. #Develop was desinged not just beeing a C# IDE (which was the top=20 priority however) but instead it should be a platform for 'any' language and people should be able to easily integrate their=20 own languages ... MonoDevelop will go down the same road right ? In this case keep in mind that MD will be >extensible< at many >points<.=20= Language bindings should contain their own editor stuff like: + Smart Indenting + Folding strategies + Custom highlighters and markers (IDEA does do this quite good ... for=20 C# a better highlighting would be good) etc. Therefore it is better to support just ONE editor ... this simplifies=20 much and there is NO point to write a 'wrapper' which is as big as a editor on it's own :) and the editor should be=20 configurable through the 'options' therefore each editor needs the same set of options (that is almost never the case) or=20 bring it's own options pane... which may be rather annoying for the user. And one philosophy of the add-in tree=20 based approach is : !!! ADD DON'T REPLACE !!! Switching the editor might be fun for some people (there are some = people=20 out there which requested the vim editor for #D) but for the most programmers this feature is not useful and it adds too=20 much uneccessary problems to the code ... try to make clean, small code and think as a 'user' of the tool when adding=20 functionality and try to think a bit in the future. Regards Mike >Ben is working as part of this new editor, a common binding assembly >that implements all the menu items/dialogs that you expect from a source >buffer. This will mean that if someone decides to write a new editor >(mmmmm, vim binding anyone?) you will have a common set of Interfaces to >inherit and handle to get it embedded into MD, and your find will look >like the find people expect irrespective of your source buffer of >choice. > >--Todd > >On Wed, 2004-01-28 at 11:07, Marco Canini wrote: > =20 > >>Here's my suggestion: >>don't preclude any way! >> >>In eclipse the editor is not one, there's a collection of editors and >>they implement a common interface. >> >>I don't think there would be too much penalty in doing it so also in MD. >>So you can use sourceview, scintilla, maybe a vim binding, etc... >> >>What do you think? >> >>On Wed, 2004-01-28 at 16:01, Ben Maurer wrote: >> =20 >> >>>I actually use SciTE for my editor right now :-). >>> >>>Folding is in the plans for SourceView, so I would rather push this = then >>>rely on Scintilla. >>> >>>The problem with Scintilla is that it is not very well integrated with >>>GNOME. The idea here is to make an editor that, as I stated on my blog, >>>feels as native to Linux as VS.net does on Windows. >>> >>>If I wanted 5000 editor features, we would be binding vim or emacs, >>>anyways :-). >>> >>>If someone *really* wants folding, I am sure the gtksourceview team >>>would love and be happy to check in any patch. Ditto for any other >>>feature. >>> >>>-- Ben >>> >>>On Wed, 2004-01-28 at 09:47, Mike Krueger wrote: >>> =20 >>> >>>>Hi >>>> >>>>One advantage of Scintilla is that it HAS folding and many other=20 >>>>features and it could be used inside #Develop too (GtkSourceView would >>>>be a step backward for the windows version) this will enhance the = future=20 >>>>compatibility of #Develop and MonoDevelop if we choose to do >>>>it this way. I don't know if you have seen this:=20 >>>>http://sourceforge.net/projects/scide/ this is the beginning of a=20 >>>>wrapper for scintilla ... I don't know >>>>if there are more out there. >>>> >>>>Regards >>>>Mike >>>> >>>> =20 >>>> >>>>>I read the text buffer is going to be migrated to GtkSourceView = for=20 >>>>>scalability and usability. I have been using Anjuta(based on=20 >>>>>scintilla) for a few months, it supports code folding and auto=20 >>>>>complete features. I would like to suggest using Scintilla over=20 >>>>>GtkSourceView, so we can gain the new functionality without writing = to=20 >>>>>much code. >>>>> >>>>>=20 >>>>> >>>>>Links: >>>>> >>>>>http://www.scintilla.org/ >>>>> >>>>>=20 >>>>> >>>>>http://anjuta.sourceforge.net/ >>>>> >>>>>=20 >>>>> >>>>>Thanks, >>>>> >>>>>Jesus >>>>> >>>>> =20 >>>>> >>>>_______________________________________________ >>>>Monodevelop-list mailing list >>>>Monodevelop-list@lists.ximian.com >>>>http://lists.ximian.com/mailman/listinfo/monodevelop-list >>>> =20 >>>> >>>_______________________________________________ >>>Monodevelop-list mailing list >>>Monodevelop-list@lists.ximian.com >>>http://lists.ximian.com/mailman/listinfo/monodevelop-list >>> =20 >>> > > > > =20 > From 05mauben@hawken.edu Thu Jan 29 17:14:13 2004 From: 05mauben@hawken.edu (Ben Maurer) Date: Thu, 29 Jan 2004 12:14:13 -0500 Subject: [MonoDevelop] GtkSourceView Question Message-ID: In terms of placing custom markers, that can be done today. If there are = other ideas you have, please share them. I am working with the gtksourcevie= w developers to get some critical features implemented. >>> Mike Krueger 01/28/04 14:35 PM >>> Hi I only want to know if it is possible to change (better: add) to the=20 drawing of the GtkSourceView. This will be an important point in the future for adding more nice = stuff=20 (folding and line numbers won't be the last). For some language the bindings might want to add=20 something to editor drawing. For example: In the #Develop model there are 'margins' and I could=20 imagine some features which add a margin right after the text to add extra information or features=20 which mark some parts of the code for example with a rectangle. One feature which IS important for an IDE is extensibility of the text=20 editor and I only want to point that out. (shame on me that I haven't looked at the GtkSourceView wrapper maybe=20 you could already do all this) Regards Mike _______________________________________________ Monodevelop-list mailing list Monodevelop-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monodevelop-list From mike@icsharpcode.net Thu Jan 29 17:36:42 2004 From: mike@icsharpcode.net (Mike Krueger) Date: Thu, 29 Jan 2004 18:36:42 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: References: Message-ID: <401944AA.1080503@icsharpcode.net> Hi >(Todd, please approve this to the list...) > >Yes, I realize that we will have to abstract many things. Basically, there are two paths we take for different issues: > >1) Push it back to gtksourceview >I want to do this for features that you would see in any editor. Like smart indenting, Folding strategies, highlighters, markers, etc. GtkSourceVIew can allow us to provide the data we need. For items like folding, this gives you guys 100% freedom in the editor -- we wont have to backport to MD. For items like extra markers, we have to be careful to provide a platform neutral binding. > > > Fortuntately extra markers are no current issue we'll may have it in the future. >2) Keep it in MD >A great example here is code templates. Also, code generation goes here too. We have to implement these inside c# because they cannot be generalized to the C widget. To maintain portability, it is critical that we use implementation neutral code. That means no references to IDocument, for example; because our binding will not have that. I would be happy to work with you guys to make an API that allows us to easily swap in either impl. > > > I'll be looking over the stuff you're doing and then I'm sure that we can work something out. It would be nice if the language backends could be ported easily between SD and MD. >On linux, we are clearly going with sourceview. From the beta version, it feels much more natural than the custom buffer. I cannot begin to list the ways in which this is true. Lets take the small things -- the syntax highlighting in gedit and MD is the same. This is great, because i love gedit, and it helps me as a user to not have a weird switch between the two impls. Secondly, I am able to use the middle mouse button to copy and paste text via the X server. This is important to many old-school developers. > > > Thats one reason for me which convinced me that this is a good way ... I only want to point out that the wrapper used in MD is mighty enough to support all functionality for current usage and further extension. >For this reason, it is pretty critical that we allow the editor to be pluggable. Not so much so that a person can switch in VIM at will, but so that we can share code MD <-> SD. > >I would note that the code is actually getting smaller by making the editor wrapper. > > > Maybe because the editor wrapper is smaller than the whole editor implemented in C# itself ? I'm looking forward for your work and I'm sure it will be nice :) ... I only want to help you to make a really good linux IDE. I think that MD might have the power to become the dominant IDE for the linux 'market' ... when it gets a good C/C++ binding. And with some amount of work it could stand against Visual Studio.NET and its successors. btw. how many people are currently working on MD ? Regards Mike From tberman@sevenl.net Thu Jan 29 17:47:30 2004 From: tberman@sevenl.net (Todd Berman) Date: Thu, 29 Jan 2004 12:47:30 -0500 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <401944AA.1080503@icsharpcode.net> References: <401944AA.1080503@icsharpcode.net> Message-ID: <1075398450.1313.1.camel@proton> On Thu, 2004-01-29 at 12:36, Mike Krueger wrote: > btw. how many people are currently working on MD ? > > Regards > Mike right now, there are 7 main people working on it, although most are bound by jobs, school, etc, so its very piecemeal. --Todd From marco.canini@fastwebnet.it Thu Jan 29 22:11:13 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Thu, 29 Jan 2004 23:11:13 +0100 Subject: [MonoDevelop] Scintilla over GtkSourceView In-Reply-To: <4018C4C9.8050607@icsharpcode.net> References: <20040127155332.AD477C23B54@smtp-3.hotpop.com> <4017CB66.9000008@icsharpcode.net> <1075302093.22734.75.camel@Ben> <1075306020.1453.6.camel@debian> <1075314871.1324.14.camel@proton> <40180AAE.3050604@icsharpcode.net> <1075326858.1464.8.camel@debian> <4018C4C9.8050607@icsharpcode.net> Message-ID: <1075414273.1449.31.camel@debian> Ok, I understand you're right, you have a good handle in that :-) I think we all agree that the thing can be summarized as follow: 1) One editor inside MD (sourceview) wrapped by a good interface with a flexible API, it could be great if that such interface is shared with #D 2) Making it possible to switch to another editor, through a properly written class that implements interface of 1) Cheers -- Marco Canini From Eric.Gonia@acxiom.com Thu Jan 29 22:37:21 2004 From: Eric.Gonia@acxiom.com (Gonia Eric - egonia) Date: Thu, 29 Jan 2004 16:37:21 -0600 Subject: [MonoDevelop] gtksourceview c# bindings Message-ID: I think I remember reading the gtksourceview c# bindings are in the mono cvs, but I can't find the module? What is the module name? Thanks. ********************************************************************** The information contained in this communication is confidential, is intended only for the use of the recipient named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please re-send this communication to the sender and delete the original message or any copy of it from your computer system. Thank You. From marco.canini@fastwebnet.it Thu Jan 29 22:43:32 2004 From: marco.canini@fastwebnet.it (Marco Canini) Date: Thu, 29 Jan 2004 23:43:32 +0100 Subject: [MonoDevelop] gtksourceview c# bindings In-Reply-To: References: Message-ID: <1075416212.1449.36.camel@debian> On Thu, 2004-01-29 at 23:37, Gonia Eric - egonia wrote: > I think I remember reading the gtksourceview c# bindings are in the mono > cvs, but I can't find the module? > > What is the module name? > gtksourceview-sharp > Thanks. > > > ********************************************************************** > The information contained in this communication is > confidential, is intended only for the use of the recipient > named above, and may be legally privileged. > If the reader of this message is not the intended > recipient, you are hereby notified that any dissemination, > distribution, or copying of this communication is strictly > prohibited. > If you have received this communication in error, > please re-send this communication to the sender and > delete the original message or any copy of it from your > computer system. Thank You. > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list -- Marco Canini From egonia@mail15.com Fri Jan 30 16:49:14 2004 From: egonia@mail15.com (Gonia Eric - egonia) Date: Fri, 30 Jan 2004 10:49:14 -0600 Subject: [MonoDevelop] how often is anonymous svn updated Message-ID: <1075481353.2053.7.camel@egonia5.corp.acxiom.net> How often is anonymous svn updated? I noticed the last commit was revision 724, but when I do an svn update I can only update to revision 719. Thanks From tberman@sevenl.net Fri Jan 30 16:55:32 2004 From: tberman@sevenl.net (Todd Berman) Date: Fri, 30 Jan 2004 11:55:32 -0500 Subject: [MonoDevelop] how often is anonymous svn updated In-Reply-To: <1075481353.2053.7.camel@egonia5.corp.acxiom.net> References: <1075481353.2053.7.camel@egonia5.corp.acxiom.net> Message-ID: <1075481732.1326.1.camel@proton> Yeah, the anonsvn is being a bit wonky. I have put up a snapshot at http://devservices.go-mono.com/MonoDevelop-snap.tar.bz2 for the time being. We are investigating the potential issues, and attempting to figure out the best solution. Any input would be greatly appreciated :) --Todd On Fri, 2004-01-30 at 11:49, Gonia Eric - egonia wrote: > How often is anonymous svn updated? > > I noticed the last commit was revision 724, but when I do an svn update > I can only update to revision 719. > > Thanks > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From egonia@mail15.com Fri Jan 30 17:05:19 2004 From: egonia@mail15.com (Gonia Eric - egonia) Date: Fri, 30 Jan 2004 11:05:19 -0600 Subject: [MonoDevelop] how often is anonymous svn updated In-Reply-To: <1075481732.1326.1.camel@proton> References: <1075481353.2053.7.camel@egonia5.corp.acxiom.net> <1075481732.1326.1.camel@proton> Message-ID: <1075482319.2053.11.camel@egonia5.corp.acxiom.net> On Fri, 2004-01-30 at 10:55, Todd Berman wrote: > Yeah, the anonsvn is being a bit wonky. > > I have put up a snapshot at > http://devservices.go-mono.com/MonoDevelop-snap.tar.bz2 for the time > being. > > We are investigating the potential issues, and attempting to figure out > the best solution. Any input would be greatly appreciated :) How are you doing the sync? > > --Todd > > On Fri, 2004-01-30 at 11:49, Gonia Eric - egonia wrote: > > How often is anonymous svn updated? > > > > I noticed the last commit was revision 724, but when I do an svn update > > I can only update to revision 719. > > > > Thanks > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list > From tberman@sevenl.net Fri Jan 30 17:25:15 2004 From: tberman@sevenl.net (Todd Berman) Date: Fri, 30 Jan 2004 12:25:15 -0500 Subject: [MonoDevelop] how often is anonymous svn updated In-Reply-To: <1075482319.2053.11.camel@egonia5.corp.acxiom.net> References: <1075481353.2053.7.camel@egonia5.corp.acxiom.net> <1075481732.1326.1.camel@proton> <1075482319.2053.11.camel@egonia5.corp.acxiom.net> Message-ID: <1075483514.1326.3.camel@proton> We are using http://monsters.rsn.uni-rostock.de/~darix/svnmirror.sh.txt script. --Todd On Fri, 2004-01-30 at 12:05, Gonia Eric - egonia wrote: > On Fri, 2004-01-30 at 10:55, Todd Berman wrote: > > Yeah, the anonsvn is being a bit wonky. > > > > I have put up a snapshot at > > http://devservices.go-mono.com/MonoDevelop-snap.tar.bz2 for the time > > being. > > > > We are investigating the potential issues, and attempting to figure out > > the best solution. Any input would be greatly appreciated :) > > How are you doing the sync? > > > > > --Todd > > > > On Fri, 2004-01-30 at 11:49, Gonia Eric - egonia wrote: > > > How often is anonymous svn updated? > > > > > > I noticed the last commit was revision 724, but when I do an svn update > > > I can only update to revision 719. > > > > > > Thanks > > > > > > _______________________________________________ > > > Monodevelop-list mailing list > > > Monodevelop-list@lists.ximian.com > > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > _______________________________________________ > > Monodevelop-list mailing list > > Monodevelop-list@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monodevelop-list > > > > _______________________________________________ > Monodevelop-list mailing list > Monodevelop-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monodevelop-list From xantfer@usuarios.retecal.es Sat Jan 31 01:36:01 2004 From: xantfer@usuarios.retecal.es (Antonio) Date: Sat, 31 Jan 2004 02:36:01 +0100 Subject: [MonoDevelop] compiler error Message-ID: <1075512955.22278.4.camel@localhost> compile all cvs ok included gtksourceview-sharp $ make Building MonoDevelop.Core make[1]: Entering directory `/home/antonio/MonoDevelop/src/Main/Core' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Main/Core' Building ICSharpCode.SharpRefactory make[1]: Entering directory `/home/antonio/MonoDevelop/src/Libraries/SharpRefactory' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Libraries/SharpRefactory' Building ICSharpCode.SharpAssembly make[1]: Entering directory `/home/antonio/MonoDevelop/src/Libraries/SharpAssembly' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Libraries/SharpAssembly' Building MonoDevelop.Gui.Utils make[1]: Entering directory `/home/antonio/MonoDevelop/src/Libraries/MonoDevelop.Gui.Utils' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Libraries/MonoDevelop.Gui.Utils' Building MonoDevelop.Gui.Widgets make[1]: Entering directory `/home/antonio/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets' Building MonoDevelop.Base make[1]: Entering directory `/home/antonio/MonoDevelop/src/Main/Base' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Main/Base' Building MonoDevelop.EditorBindings make[1]: Entering directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/EditorBindings' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/EditorBindings' Building MonoDevelop.TextEditor make[1]: Entering directory `/home/antonio/MonoDevelop/src/Libraries/ICSharpCode.TextEditor' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/Libraries/ICSharpCode.TextEditor' Building MonoDevelop.DefaultTexteditor make[1]: Entering directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/TextEditor' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/TextEditor' Building SourceEditor make[1]: Entering directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor' mcs ./Gui/SourceEditorDisplayBinding.cs ./Gui/SourceEditorWidget.cs ./Gui/SourceEditorView.cs ./Gui/SourceEditorBuffer.cs ./CodeCompletion/CompletionWindow.cs ./CodeCompletion/TextUtilities.cs ./CodeCompletion/DeclarationViewWindow.cs ./CodeCompletion/ICompletionDataProvider.cs ./CodeCompletion/TemplateCompletionDataProvider.cs ./CodeCompletion/CodeCompletionDataProvider.cs ./CodeCompletion/ICompletionData.cs ./CodeCompletion/CodeCompletionData.cs ./CodeCompletion/CommentCompletionDataProvider.cs /out:../../../../build/bin/MonoDevelop.SourceEditor.dll /t:library /r:gtk-sharp /r:gdk-sharp /r:gtksourceview-sharp /r:glib-sharp \ /r:../../../../build/bin/MonoDevelop.Core.dll \ /r:../../../../build/bin/MonoDevelop.TextEditor.dll \ /r:../../../../build/bin/MonoDevelop.Base.dll \ /r:../../../../build/bin/MonoDevelop.Gui.Utils.dll \ /r:System.Drawing.dll error CS0006: Cannot find assembly `gtksourceview-sharp' Log: Compilation failed: 1 error(s), 0 warnings make[1]: *** [../../../../build/bin/MonoDevelop.SourceEditor.dll] Error 1 make[1]: Leaving directory `/home/antonio/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor' make: *** [SourceEditor] Error 2 From jba-mono@optusnet.com.au Sat Jan 31 03:40:56 2004 From: jba-mono@optusnet.com.au (John BouAntoun) Date: Sat, 31 Jan 2004 14:40:56 +1100 Subject: [MonoDevelop] Does Gtk.Dialog respond to Hide()? Message-ID: <1075520456.3169.8.camel@nkotb> Hi guys, I've been trying to glade ReplaceDialog in MonoDevelop. It used to be a Gtk.Window but no I changed it to Gtk.Dialog (inherits from window). For some reason the old close dialog code doesn't work on the ReplaceDialog when it inherits from Gtk.Dialog instead of Gtk.Window. Is there something I'm doing wrong or is it a bug in gtk-sharp? Here is the code that used to work when iheriting from Gtk.Window but doesn't when inheriting from Gtk.Dialog: void CloseDialogEvent(object sender, EventArgs e) { Hide(); // This seems to do nothing for dialogs OnClosed (null); } Help on this would be much appreciated JBA