Subscribe to Satan Eats Cheese Whiz        RSS Feed

DICWriter v0.1 Released!

Icon 11 Comments
DICWriter v0.1

DICWriter is an open-source BBCode IDE coded in C# for Dream In Code users. The aim of the project is to encourage the creation of larger tutorials for authors, and for posts that need to be answered over and over again, like how we don't hand out code to those that don't provide their own, etc.

Posted Image


o WYSIWYG Preview function (you can see what your BBCode will look like on a webpage).
o A template system, for those that don't like having to say things over and over again (to create a template, you must save the bbcode file to the /Templates/ folder).
o The most common BBCode tags are supported.
o Use of the Color Dialog to make choosing colors more efficient and powerful.

To-Do List:

1. Add more tags to the BBCode parser, such as inline etc.
2. Make the preview look more attractive, with quotes, code, and other things that should generally look a little bit more 'encapsulated'.
3. Add support for smileys, in both the toolbar and preview function.
4. Intellisence for both tags and smileys.
5. Support for different mainstream bulliten boards (long-term of course, and yes I will be providing support for GrimBB if I attempt this ambitious project :) ).
6. Add more default templates.


It is sort of expected to have bugs after about 4 days of development, and by 4 days I mean like days I have actually touched it (e.g. 6 days since I started developing it). Not all bugs are known, so please report them in the comments section, whatever bug it may be.

1. Need to double-click the open button when selecting templates.
2. The main toolbar doesn't appear properly in the source, and requires 'toying' with the panels to display properly in designer view.


Application (Rapidshare): Click
Source (Rapidshare): Click

If you like where this project is going, feel free to drop me a line in the comments section to see how you can participate in the development of this applicaton (whether it be development or beta testing). The more support I recieve, the more chance of there being updates :).

Hope this was of use to you, it sure was for creating this article! :P

11 Comments On This Entry

Page 1 of 1


05 February 2008 - 05:30 AM
I've had a look at it and I extracted a surround method, and added code for inline tag.

Here is the inline tag replacement. It would be better to use a style sheet, and a CSS class, but this is just a quick-and-dirty:
{"[il]", "<span style=\"border: 1px solid black; font-family: fixed-width;\">","[/il]","</span>"}

Which fits nicely into your array.

Here are the two new methods:
  private void surround(string tagStart, string tagClose) {
	// Start and end locations of selection.
	int Start = rtxBBCode.Selectionstart;
	int End = rtxBBCode.Selectionstart + rtxBBCode.SelectionLength;

	rtxBBCode.Text = rtxBBCode.Text
	  .Insert(End, tagClose) // insert end tag
	  .Insert(Start, tagStart); // then start tag

	// Place cursor just after opening tag
	rtxBBCode.Selectionstart = Start + tagStart.Length;

// the new button
  private void tsbInline_Click(object sender, EventArgs e) {
	surround("[il]", "[/il]");

And it works like magic.

I'll probably do more tomorrow, I'm too tired to code now, I've been up since 4am and it's 8.30pm. Yes, I slept at work at woke up at 4. And yes I had an improvised shower in the bathroom at about 4am.

Just tell me what you want me to do, so that I don't step on your toes.


05 February 2008 - 02:00 PM
Thanks for your input Nayana, I was going to eventually use a function for the tags such as bold, etc, but thought I'd rather get a release out before I did anything that could rape the source of life, thus making me have to do moorreeee crap to fix it. The math involved for just the numbered lists and the bulleted lists were driving me crazy, that was probably the hardest of all the features.

I might eventually end up SourceForging it, but I'm not sure how they would react to an application made primarily for a single website. I'd probably have to rename it to its original name, BBCoder :hehe:.


11 February 2008 - 01:05 AM

Do you mind if I make some alterations/improvements to your application and let you see what I did? I want to separate presentation from logic by using objects (Class files) so you will eventually end up with a n-tier application. Let me kn ow if this is acceptable, I wont do a thing until I hear from you :)


11 February 2008 - 01:11 AM
Do whatever you want with it. I realise the source code is rather scrappy, and does need to be redone and redeveloped a little bit, but there isn't a licence as of yet so I don't care what you do with it.

Heck you could sell it for all I care... (I've been in that situation before... Really don't care :P ).

EDIT: And I'd love to see it actually. I'll add you and Nayana to the credits of the next version, which will probably have a lot to do with improving the look of the WYSIWYG preview, and additional BBCode tags. :)


11 February 2008 - 01:18 AM
its uploaded on rapidshare. can u upload to too.


11 February 2008 - 02:17 AM

bhandari, on 11 Feb, 2008 - 07:18 PM, said:

its uploaded on rapidshare. can u upload to too. :)


11 February 2008 - 07:56 AM

I would never take your idea and sell it, that would very rude and unprofessional, and Ive had it happen and didn't like the feeling very much at all. Ill send you some updates as I make them though so you can approve/disapprove before adding to your source code :)


25 February 2008 - 04:21 AM
Hi Rodger, are you still doing this?Anyway, I got bored and decided to do the list mechanism. Just use this code:
private void tsbNumberedList_Click(object sender, EventArgs e) {  rtxBBCode.SelectedText = "[list=1][*]" + rtxBBCode.SelectedText	.Replace("\n", "\n[*]") + "\n[/list]";}
Which will change the selected text, with each new line being a list item.You can do likewise with the bulleted list obviously.Enjoy.


27 February 2008 - 03:40 AM
I have jumped the gun and created an open-source project at

RodgerB & PsychoCoder, could you please PM me with your Google account emails so that I can add you as Admins? Thanks.

Rodger, if you disapprove of this move, I'm happy to take it down immediately.


29 February 2008 - 06:13 AM
A forum has been created to ease the communication difficulties between developers and clients. Nayana and PsychoCoder, could you please register at this forum

Once registered I will give you developer privilages so you can access the developer discussion category. Thanks. :)


16 March 2008 - 08:38 AM
OK Rodger I registered. Sorry for the delay, this new job had me kind of swamped while I was learning the directory structure of the site (and let me say it is the most convoluted piece of crap Ive ever seen lol)
Page 1 of 1


Welcome to Satan Eats Cheese Whiz

Satan Eats Cheese Whiz is a programming blog, mostly directed at .NET Programming. Here you will find snippets, tutorials and other useful code that you can adapt or use with your projects. When using the code provided, please leave the comments intact, and link back to the page you got it from. Thanks for viewing!

Goto My Wiki
Syndicate this Blog (RSS)


0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)