Important alert: (current site time 7/16/2013 2:45:11 AM EDT)
 

winzip icon

CodeHelp 1.2.2 (Tabbed IDE code editor Window) Updated

Email
Submitted on: 5/2/2005 12:10:16 AM
By: Luthfi M 
Level: Advanced
User Rating: By 68 Users
Compatibility: VB 6.0
Views: 31856
(About the author)
 
     This is a VB AddIn, with this AddIn VB can show the Code editor windows in tabbed style. Much like the code editor in VS.NET IDE or Opera Browser. As usual thanks to Paul Caton for his superb Subclassing class. Just compile the project and then restart VB IDE to see it in action. Tested and developed under WinXP SP 1, now also works in Win98. _________________________________________________ 1st Update May 04, 2005 ver 1.0.1 Fixed List: - Crash on Exit if MZTools also running - Tabstrip all over the place if Code editor is not in maximized state _________________________________________________ 2nd Update May 06, 2005 Ver 1.2.0 - Recode the algorithm and the class structure, fix bug in rectangle calculations on large project - Added two sub projects (in MDITest and TabWork sub folder) to help test the AddIn, as a bonus now the TabStrip also works for normal VB MDI Application. - The close button behaviors now complies with standard button behaviours (event fired on MouseUp, added hover and pushed state indicator) - the active tab always visible (well not always) - active tab now also synchronize with the active code window, whether the user activates via Window Menu or Project explorer _________________________________________________ 3rd Update May 09, 2005 Ver 1.2.1 Crash on Win98 - Fixed!! Remove GDI leak when no tab items are present Added Option to hide the close button Improve button painting _________________________________________________ 4th Update May 10, 2005 Ver 1.2.2 Fixed bug in popup menu handler, added WM_STYLECHANGED for handling caption programmatically changed

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 7 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Advanced category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments

5/2/2005 1:21:17 AMAnders Lyman

D@MN!
5 from me!
(If this comment was disrespectful, please report it.)

 
5/2/2005 2:16:19 AMenmity

tab shifting is somewhat flicker.
How about option for vs2005
(If this comment was disrespectful, please report it.)

 
5/2/2005 3:39:27 AMLuthfi

It's flicker because the paint process does not use double buffer, should be simple enough and it will be included in the next update.
(If this comment was disrespectful, please report it.)

 
5/2/2005 4:25:48 AMM@rkS

Oh my, this is great. Its really quite helpful since my IDE has stopped grouping a projects components in the Project Explorer.
(If this comment was disrespectful, please report it.)

 
5/2/2005 5:01:01 AMMark Duhame

Crashes in Win 98 when closing any window. But I love this idea, and clearly you have put a lot of effort into this. 5 globes from me.

mdnt_blue
(If this comment was disrespectful, please report it.)

 
5/2/2005 5:06:18 AMLuthfi

To Enmity, perhaps I've misunderstood your comment :). If you meant the flickering when switching page, then it's something I haven't been able to prevent. It just the way VB IDE deals with MDI child windows. Just try unloading the AddIn then switch MDI child using the IDE Windows menu, you'll see the same flickering
(If this comment was disrespectful, please report it.)

 
5/2/2005 5:32:26 AMLuthfi

To Mark,

I'm suprised the addin run at all on Win98 :)), I guess it's time for me to find a Win98 box and start debugging.
(If this comment was disrespectful, please report it.)

 
5/2/2005 5:39:58 AMGDuncan

A great idea for an add in. Good work.
(If this comment was disrespectful, please report it.)

 
5/2/2005 6:00:10 AM

Excellent, 5 globes from me,
but hi, belum stabil Lut...
Kalo dirun full compile, di stop
IDE nya, trus VB nya diclose...

(If this comment was disrespectful, please report it.)

 
5/2/2005 6:04:20 AMenmity

to:Luthfi
yes, you finally got my point. please consider the behavior & ui of vs.net 2005
(If this comment was disrespectful, please report it.)

 
5/2/2005 6:12:16 AMLuthfi

Ok, I will, as soon as I have VS2005 or C# express installed.
(If this comment was disrespectful, please report it.)

 
5/2/2005 6:55:25 AMPhantom Man

There Seems To Be A Few Major Flaws In This Code.

1) Open A Project With A Lot Of Modules/Forms Or Classes Tabbing Is Then All Over The Place

2) The Active Tab Should Always Be Visible

3) The Close Button Should Act Like A Proper Button.

4) It Looks Like You Are Drawing All The Tabs When You Only Need To Draw The Visible Ones.

This Is A Nice Idea And If It Wasn't For The Few Errors It Has, It Would Be Brilliant.

Kind Regards
Gary
(If this comment was disrespectful, please report it.)

 
5/2/2005 11:31:07 AM[])utch[]v[]aster

5 Globes.. Well done.. I look forward to further updates.
(If this comment was disrespectful, please report it.)

 
5/2/2005 12:10:56 PM

This is great stuff! I can't believe I have never seen this done before as it is an excellent idea and very productive.
(If this comment was disrespectful, please report it.)

 
5/2/2005 3:16:55 PM

I use Win2000Prof SP4 with VB6 SP6 and have a trobbel if I activate or deactivate the SDI Option and close the VB6-IDE. VB6 get a hard crash
(If this comment was disrespectful, please report it.)

 
5/2/2005 3:18:58 PM

oh oki ,sorry :-) ---> If you have MZ Tools 3.0 Addin running along with CodeHelp, it would crash the IDE on exit. <-- I use the MZ-Tools :-(( why the crash???
(If this comment was disrespectful, please report it.)

 
5/2/2005 6:54:29 PMHeriberto Mantilla Santamaría

This dll is very useful, I don't know because but when I close the VB this it produces an error, there is somebody more it presents him this problem.
(If this comment was disrespectful, please report it.)

 
5/2/2005 7:08:13 PMchris fitzmartin

very nice product idea. 3 comments.
1--test the tool with 10 forms, 10 bas, and 10 classes. The tabs do not sync with the active code window when you choose a window from the IDE menu.
2--does not coexist with other add-ins that do subclassing like "MZ-Tools 3". This is the most popular freeware VB6 Add-in, though I *really* like your product.
3--I can't test #2, since your add-in does not load properly when you run the add-in DLL from the VB IDE.

best wishes
(If this comment was disrespectful, please report it.)

 
5/2/2005 7:13:16 PMHeriberto Mantilla Santamaría

I already understood the problem it is caused by the MZ-Tools, but now I see that when the form not this maximized cannot close the window, and something even stranger being the form in normal state and I remove him the focus to the VB the Tab of this window it disappears.
(If this comment was disrespectful, please report it.)

 
5/2/2005 8:05:00 PMDean Camera

Also, if your project explorer is no longer grouping project files correctly, click the "toggle folders" button (far right on the project explorer window).
(If this comment was disrespectful, please report it.)

 
5/2/2005 8:47:17 PMM@rkS

Thanks Dean, I knew it was a simple fix but for the life of me I couldn't remember it. And like everyone else running MZ-Tools, this addin won't play nice with it. Also with big projects, my current one has 68 forms, 97 modules and several classes, it just doesn't handle it; as others have pointed out.
(If this comment was disrespectful, please report it.)

 
5/2/2005 8:47:28 PMLuthfi

To phantom man
Thanks for the inputs, and yes I know the code hasn't been tested thoroughly. And it’s all good suggestions so I'll see what I can do to improve the AddIn. As for the Tab painting, the paint handler already knows to draw only the visible tabs, there’s an IntersectRect checking to ensure this.

(If this comment was disrespectful, please report it.)

 
5/3/2005 5:41:09 AM

Great stuff, and very useful!

Any idea why you can't debug the addin? It won't display the bar at all in another VB instance when attempting to debug in the IDE.

I think it's the machine code subclassing - any chance of using more conventional subclassing (ie addressof)?
I like the idea very much though.

I've tried logging the shutdown vis a vis MZTools, but it's beyond me...
Good work, keep it up!

Vijay
(If this comment was disrespectful, please report it.)

 
5/3/2005 12:38:12 PMMike Douglas

Sweet. Just got around to testing this, simple, elegant, productive. Thank You.
(If this comment was disrespectful, please report it.)

 
5/3/2005 3:44:56 PMZirro Tolerance

Looks good and seems to work great on small projects. One thing that will add a little speed for big projects though is changing this one line in GetCaption. Once you get the crash on close problem fixed you could sell this for alot of money. 5 globes

Example:
From:
GetCaption = Trim$(Replace(sCaps(1), "(Code)", ""))

To:
GetCaption = Trim$(Replace$(Split(Text, "-")(1), "(Code)", ""))
(If this comment was disrespectful, please report it.)

 
5/3/2005 4:21:45 PMZirro Tolerance

also when you load the dsr the width is bigger then the window so it wont show all of it till you goto another tab and come back.
(If this comment was disrespectful, please report it.)

 
5/3/2005 4:45:21 PMTom

Excellent. 5 stars
(If this comment was disrespectful, please report it.)

 
5/3/2005 5:58:01 PMShawn J Cox

wow this rocks. for the guy changing to SDI... look at what this does... why would you even think this would work in SDI? god some people. 5 globes from me, I hope you win the contest.
(If this comment was disrespectful, please report it.)

 
5/3/2005 7:00:01 PMHeriberto Mantilla Santamaría

Hi Luthfi

I found a bugs:

I see that when the form not this maximized can't close the window, and something even stranger being the form in normal state and I remove him the focus to the VB the Tab of this window it disappears.
(If this comment was disrespectful, please report it.)

 
5/3/2005 8:40:21 PMLuthfi

whoa..!! More bugs!!
LOL..thats what you got for posting half baked code.
I had some minor bugs fixed, but I'll post the update once I got the crashing "feature" to disappear
(If this comment was disrespectful, please report it.)

 
5/3/2005 9:32:31 PMLuthfi

Ok, I uploaded the fix, now this AddIn can happily let MZTools alone subclassing the main window :( (I want it back though)
(If this comment was disrespectful, please report it.)

 
5/3/2005 9:34:14 PMLuthfi

Also added conditional compilation argument to allow debugging this IDE in another instance. Search for IS_DEBUG in the project.
(If this comment was disrespectful, please report it.)

 
5/4/2005 12:21:51 AMBroken Arrow

d@mn devil code! 5*
(If this comment was disrespectful, please report it.)

 
5/4/2005 1:44:19 AMDean Camera

Yes, crashes the entire VB IDE in '98 when you close a tab/window/IDE. However, the greatest Addin i've seen in a long time; hope you get the bugs fixed!!

- Dean
(If this comment was disrespectful, please report it.)

 
5/4/2005 2:21:13 AM

have tested and run the addin! Great work! waiting for the fix. crashing when closing the IDE. :)
(If this comment was disrespectful, please report it.)

 
5/4/2005 7:39:08 AMIan

Outstanding Addin works 5 from me
(If this comment was disrespectful, please report it.)

 
5/4/2005 3:32:44 PMEric O''Sullivan

any chance of removing that annoying X on the tab when it becomes active? It's irritating to have the tab resize itself when you can clicking between two tabs quickly to compare code - you have to move the mouse further than you'd like. Very petty I know but it's the kind of thing that gets on your tits day to day. 5 globes though!
(If this comment was disrespectful, please report it.)

 
5/4/2005 8:55:49 PMShawn J Cox

I'm trying to figure out how change the tab change and close events happen on mouseup, so that you can move your mouse away if you clicked by accident. I got the WM_NCLBUTTONUP from the API viewer, but it doesn't work.
(If this comment was disrespectful, please report it.)

 
5/4/2005 9:28:37 PMShawn J Cox

I added WM_NCLBUTTONUP and RBUTTONUP to the subclass in the Attach Sub. Now these messages are sent to ISubClass_Proc and I changed the ifs to WM_NCLBUTTONUP instead of DOWN and it now changes tabs and closes tabs when you release instead of when you first click.
(If this comment was disrespectful, please report it.)

 
5/5/2005 7:30:46 PMCodeFester

this blows away that BS posted last (which wasn't even source code) for prettying up the IDE. This is truly useful and seems to work with VERY few minor annoyances on W2K... 5 big ballz from Texas.
(If this comment was disrespectful, please report it.)

 
5/5/2005 7:31:49 PMCodeFester

I meant to say: "posted last month"...
(If this comment was disrespectful, please report it.)

 
5/6/2005 1:57:21 AMBroken Arrow

VB6.NET @ last :)
(If this comment was disrespectful, please report it.)

 
5/6/2005 5:39:13 AMZhu JinYong

There are some small bugs with close button painting.But big contribution to PSC VB6 world.thanks.5 sweet stars.
(If this comment was disrespectful, please report it.)

 
5/6/2005 2:54:37 PMchris fitzmartin

I retested the new version with MZ-Tools 3. Nice job. It works fine.

I also retested with a 40 module project and the synchronization between code windows, tabs and project tree is much improved.

This will become a standard part of every serious VB6 developer's toolkit. We are in your debt.

5 stars
(If this comment was disrespectful, please report it.)

 
5/8/2005 1:03:29 AMHeriberto Mantilla Santamaría

Hello friend Luthfi found a new bug and it is that the active tab sometimes changes him the bottom and one cannot see the button of closing, it is something similar as if it was a screenshot superimposed in the one.
(If this comment was disrespectful, please report it.)

 
5/8/2005 6:55:25 AMFaraz Azhar

Great tool. This is what the VB Classic users are trying to explain to Microsoft.. instead of releasing a new version (.NET) they should have modified the original VB. Great work.
(If this comment was disrespectful, please report it.)

 
5/9/2005 1:57:19 AMLuthfi

Ok, another update.
As promised, I've fixed the crash on Win98, thanks to all of you for your patience and supportive feedbacks.
Some bugs still remains :)
(If this comment was disrespectful, please report it.)

 
5/9/2005 1:58:47 AMLuthfi

Non Win98 users, please download this update also, since there are GDI leaks on the previous version
(If this comment was disrespectful, please report it.)

 
5/10/2005 1:55:36 AMAdhimas Setianegara

Good code. However I have found another anoying bugs. If you click on any menu displayed by right clicking an empty space in the tab area, an error message will be generated. This can be simply fix by moving the statement:

itemhWnd = CLng(Mid$(key, 2))

in m_tabStrip_ItemClick()

to just under:

Case ID_Close

and before;

PostMessage()

Another anoying bugs is that the text in the tab does not change if the caption of the window is changed (programmatically.)
(If this comment was disrespectful, please report it.)

 
5/10/2005 2:14:27 AMLuthfi

Small update thks to Adhimas to pointed it out
(If this comment was disrespectful, please report it.)

 
5/10/2005 2:57:15 AMAdhimas Setianegara

Very quick response :) I have 3 suggestion for the tabs:

1. Move the 'Close' icon the the right
most part of the tab (like in
FireFox browser).
2. Change the 'Close' icon to firefox
'Close' icon :)
3. If too many tabs are open, instead of
showing the left-right arrow to
scroll the tab, what if you put a
button that if clicked will display a
listbox that consists a list of all
the tabs. Easier access.

That's all. (Even without implementing all the above suggestion, your code is very useful.)
(If this comment was disrespectful, please report it.)

 
5/10/2005 3:08:22 AMLuthfi

To Adhimas:
For #1 and #2, perhaps I'll never implement it, cause I like Opera better than FireFox :), but who knows... perhaps on next version
For #3 I've been thinking to create a popup menu similar to chevron in office toolbar.
(If this comment was disrespectful, please report it.)

 
5/11/2005 8:00:55 AMDean Camera

Yay! Now you've done the hard part (fixing the '98 crashing) I get to do what i've been itching to do; change the tab style. I've already made a psudo-XP style tab, just need to fix the small GDI leak and it's all smooth sailing. As for moving the close button, that wouldn't be too hard. I'll give it a go, Adhimas, if you REALLY want it...
(If this comment was disrespectful, please report it.)

 
5/12/2005 7:41:55 AMAdhimas Setianegara

The tab size change caused by the close icon is realy amusing. That's why I like it to be completely removed from the tab. Let me know when you've done with your modification Dean.

One more thing. If you have a DataEnvironment designer in your project, it seems that its window is always open (in invisible mode) even if we never open it. This must be a VB bug. However, it creates an anoying extra tab that shows nothing when clicked.

(If this comment was disrespectful, please report it.)

 
5/12/2005 10:30:51 AM

Really great addin!

Found a bug though.
Lets say you have two tabs and then right click the unselected tab and select close. The remaining tab will have a gray appearance.

(If this comment was disrespectful, please report it.)

 
5/13/2005 5:52:04 AMDean Camera

Adhimas, aaalllmost finished the modifications, although if you want the lose button to be moved to the right, you'll have to put up with the psudo-XP tab style I put into it. Luthfi, please email me as I need to ask you a question on how to fix a problem i'm having with my modifications.

- Dean
(If this comment was disrespectful, please report it.)

 
5/13/2005 9:38:42 AM

First of all ***** This is great code.

Just to elaborate on the bug found a little earlier, when clicking close on the popup, not only will it not always set focus to a tab, when it does finally set focus many times it is incorrect.
(If this comment was disrespectful, please report it.)

 
5/14/2005 7:28:57 AMDean Camera

Sorry Adhimas, given up on the modfications. I've been trying for several days now but for every line I added a bug would appear that I couldn't solve (or it would take ages). Try asking Luthfi very nicely to add it to the next version.
(If this comment was disrespectful, please report it.)

 
5/16/2005 4:14:26 PMKelly S. Ethridge

Ok, now this one I like. It's very useful to me, thank you!

(If this comment was disrespectful, please report it.)

 
5/16/2005 4:40:45 PMBurningmace (AKA Trojan1)

woah, nice!
*****
(If this comment was disrespectful, please report it.)

 
5/22/2005 9:21:09 PMManny Haller

awsome code, good job
very usefull
5 from me
(If this comment was disrespectful, please report it.)

 
5/24/2005 10:51:31 PMKaizen

Nice work. Proving to be very useful.
(If this comment was disrespectful, please report it.)

 
5/31/2005 10:01:43 PMMamerto Fabian Jr.

This is a great add-in. Much like in Codesmart add-in. But I found a bug. When I double-click on the form on design view to show the underlying code in it (e.g., command button's click event), then close the code window, VB crashes. Other than that its very useful addin. Thanks luthfi!
(If this comment was disrespectful, please report it.)

 
6/2/2005 3:29:48 PMTom Pydeski

This is great code, but I have a couple of bugs to report also.
I use a reload addin from this site.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=6928&lngWId =1
when
the project is re-loaded via this addin (objInstance.ActiveVBProject.VBComponents(lstComponents.List(intIdx)).Reload)
VB crashes.
Also, i had noticed that sometimes the tab container would take on the image of the desktop or some other window occasionally, almost like it needs to repaint the tabs.


(If this comment was disrespectful, please report it.)

 
6/5/2005 4:28:20 AMShawn J Cox

I just updated to the new code since I made my own fixes for it and noticed you actually didn't implement what I was talking about. When you mousedown on another tab it shouldn't switch unless you mouse up on the tab. I had to refigure out how to change your code to get that working since you switched the way you programmed everything since the version I have. My next project is to have rapid switching, where you just hold down the mouse and a hot key and move between tabs just moving the mouse over them.
(If this comment was disrespectful, please report it.)

 
6/5/2005 4:34:52 AMLuthfi

To Shawn
It was intentional, I was planning to implement dragging tab item to change its position, the way VS.NET does.
(If this comment was disrespectful, please report it.)

 
6/20/2005 8:36:15 AMArxime GmbH

Hi Luthfi,

this AddIn is excellent and will be a helpfull VB-IDE tool. You receive 5 globes from me.

Because for the Access VBA Developers does not exist a similar AddIn I would like encourage you to make it accessible also for the Access VBA stuff.

Greate Work!
Regards


(If this comment was disrespectful, please report it.)

 
6/20/2005 5:31:53 PMMike Blackett

fantasic - well done.
(If this comment was disrespectful, please report it.)

 
6/23/2005 10:05:42 AMbombdrop

This is a great add-in just registered it love it well done!!!!
(If this comment was disrespectful, please report it.)

 
6/24/2005 2:41:36 AM

tell me about source code for search function in vb
(If this comment was disrespectful, please report it.)

 
6/30/2005 4:29:06 AMM@rkS

Luthfi,
This is a great add-in.
I have found that it produces some annoying behaviour with Projects that are saved to Source Safe. I have been working through the behaviour with Carlos, the developer of MZTools, as I initially thought it was that Add-in causing the behaviour. Simply put, the behaviour is the unexpected reopening of previously closed window(s) when Checking Out, and sometimes when Checking In a form or module of a project. Carlos has identitied that the behaviour only occurs if a window is closed using the X button on the CodeHelp tab for that open window. If the window is closed using the IDE X then the behaviour does not occur.
The behaviour can be reproduced using the following steps:
(If this comment was disrespectful, please report it.)

 
6/30/2005 4:30:30 AMM@rkS

- Create new Project. Form1 is created by default
- Add new files Form2 and FOrm3
- Add to sourcesafe
- Close all forms
- Close VB
- Open VB. No window should be open since all of them were closed previosly
- Open Form1 designer window
- Open Form1 code window
- Close Form1 code USING THE "X" BUTTON PROVIDED BY CODEHELP ON THE TAB WINDOW
- Close Form1 designer window USING THE "X" BUTTON PROVIDED BY CODEHELP ON THE TAB WINDOW
- Open Form3 code window
- Close Form3 code window
- Check out Form3 file
- Form1 code window is open unexpectly

Notice that if you don´t use "X" button provided by CodeHelp on the tab window, but the "X" button provide by VB6 the problem is not reproduced.

For small projects this is not a big deal, but for big projects this is a very big annoyance - bordering on a problem that makes using the CodeHelp Add-in of marginal benefit.
(If this comment was disrespectful, please report it.)

 
7/29/2005 3:15:18 PMBozena

5 globes from me man ... keep your good work !
(If this comment was disrespectful, please report it.)

 
8/3/2005 11:36:47 PMKaizen

M@rkS thanks for finding the error. I use the addin wiht a big project and it was geting a bit annoying. each time I open VB i would have about 20 windows open. Luthfi and sign of a fix for this?
(If this comment was disrespectful, please report it.)

 
8/4/2005 4:06:45 AMLuthfi

I have beta version 2 of the Add-In completed.

You might want to give it try.

From now on I'll post update informations here:

http://chaddin.blogspot.com/

(If this comment was disrespectful, please report it.)

 
9/22/2005 4:50:07 AMJohn Wion

Just perfect! I can't say it any better than that. It is really help full! 5 GLOBES FROM ME!
(If this comment was disrespectful, please report it.)

 
9/23/2005 2:18:25 AMLuthfi

Thanks,

But you got the old version, the new version 2.2 is available here:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=62 468

(If this comment was disrespectful, please report it.)

 
12/28/2005 2:09:56 PMPablo Arriegui

Wow!!! Is wonderfull
You help me to make easy my organization in Visual Basic.
Great work!!!.
(If this comment was disrespectful, please report it.)

 
11/16/2007 4:48:54 AMJB

great code man! Thanx for sharing
(If this comment was disrespectful, please report it.)

 
8/13/2008 10:16:07 PMmohamed ali

evey one please go to the new version it's extermilly better

i like it very much i put acopy here

http://www.303030.com/downloads/CodeHelp.setup2_2.zip

(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.