[project]
- added trunk, branches and tags folders back into repository
- moved project files into trunk

git-svn-id: https://dcx.googlecode.com/svn/trunk@1014 17a06da3-8c20-fa79-550f-e9588e724b77
[project]
- added some paths and files to svn ignore list

git-svn-id: https://dcx.googlecode.com/svn/trunk@1015 17a06da3-8c20-fa79-550f-e9588e724b77
test commit

git-svn-id: https://dcx.googlecode.com/svn/trunk@1016 17a06da3-8c20-fa79-550f-e9588e724b77
Brings all files upto date & in sync as per rev1011 on old svn

Added for rev1012 for old svn, now rev1017 on google code svn

[general]
added DCX_FOR_XP_ONLY define to defines.h to compile the dll for xp+ systems only.
added code through out to support this.
changed (WM_USER + 200) to use define WM_MCOMMAND
changed (WM_USER + 201) to use define WM_MEVALUATE
changed all buffer size refrences for mIRC's buffer to be MIRC_BUFFER_SIZE_CCH or MIRC_BUFFER_SIZE_BYTES as required.
added MIRC_BUFFER_SIZE_CCH define which is set to 4100 by default for mIRC 6.35+ (maybe changed for release build, or changed to a var at a later date to adapt to the actual mirc ver)
added MIRC_BUFFER_SIZE_BYTES as an equation based on MIRC_BUFFER_SIZE_CCH
changed LOADINFO struct to all mUnicode item for mIRC V7+
added detection of mIRC V7+
added disabling of all window modifications on mirc v7+ in the non-utf version of this dll on mirc v7+ as this causes display errors.
changed mapfile size to use MIRC_BUFFER_SIZE_BYTES

[tstring]
changed sprintf() function name to tsprintf() to avoid conflicts with standard function.
changed vprintf() function name to tvprintf() to avoid conflict with standard function.
changed all uses of these functions to match these changes.
various minor optimizations made to routines.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1017 17a06da3-8c20-fa79-550f-e9588e724b77
[button][dialog][link]
changed hover time to HOVER_DEFAULT.

[link]
misc formatting changes.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1018 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
fixed mem leack in CreateHDCBuffer() when a CreateCompatibleBitmap() etc.. call failed.

[toolbar]
fixed missing icon on first button.

[xstatusbar]
fixed $xstatusbar(N).text not returning text for ownerdrawn parts.

[general]
added some debug output when CreateCompatibleBitmap() fails in CreateHDCBuffer() function.

[xpopup]
fixed submenu display bug when using vertical style, GetMenuItemRect() causes failures for some reason :/


git-svn-id: https://dcx.googlecode.com/svn/trunk@1026 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
oops file missing from google svn


git-svn-id: https://dcx.googlecode.com/svn/trunk@1027 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
changed GetStockObject() calls to GetStockFont() or GetStockBrush() macros.
updated the date in licence file.
Updated dev build to 16

[xpopup]
changed custom style item drawing to fall through to brush drawing when no bitmap can be drawn, instead of including the brush drawing code twice.
changed XPopupMenuItem::DrawGradient() to use GradientFill() to test the results...
removed some of the commented code from XPopupMenuItem::DrawVerticalBar()
changed XPopupMenuItem::DrawGradient() to use old gradient code if GradientFill() fails.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1030 17a06da3-8c20-fa79-550f-e9588e724b77
[button]
fixed image button to update its state immediately on mouse touch instead of waiting HOVER_DEFAULT time for the WM_MOUSEHOVER notification

git-svn-id: https://dcx.googlecode.com/svn/trunk@1032 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
changed MircTimeToSystemTime to get hours, minutes and seconds too, fixes bug 730

git-svn-id: https://dcx.googlecode.com/svn/trunk@1033 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
fixed rendering bug in SetupAlphaBlend() function under vista+ (still not happy with this, im working on it.)
added some defines to defines.h to exclude some unneeded come from includes. (expect this to change as needed)

[dialog]
added $xdialog().glasscolor prop to return the colour used by the system for glass effect.

[webctrl]
removed debug text on control create.
control now cleans up better when web control fails to create during control creation.

[DWMModule]
added support for EnableBlurBehind() & GetColorizationColor() functions.

[UXModule]
shortened IsBufferedPaintSupported() function.

[misc]
added +v [top] [left] [bottom] [right] command to /dcx WindowProps to allow adding glass effect to any window (still experimental)
changed /dcx WindowProps to use XSwitchFlags.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1035 17a06da3-8c20-fa79-550f-e9588e724b77
[treeview]
fixed a NULL reference exception in the /xdid -S command

git-svn-id: https://dcx.googlecode.com/svn/trunk@1037 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
changed all wsprintf() calls to wnsprintf() with buffer limit.
  This addresses several possible buffer issues & should limit future ones. Will look at strcpy()'s next.
changed wnsprintf() with "%s" format calls to lstrcpyn()

[listview]
fixed bug in $xdid().columnorder where "%s" format was used in wsprintf() when "%d" should have been used.
fixed possible issue with $xdid().gtext where the buffer returned with text isnt always the one supplied.

[rebar]
changed $xdid().text to use MIRC_BUFFER_SIZE_CCH when setting buffer size in REBARBANDINFO.

[tstring]
added check for buffer != NULL to tvprintf() & a zero result when it is.
changed vsprintf() to vsprintf_s() for buffer limit. (other function preferred instead?)

[xdock][xtreebar][xstatusbar]
changed all %800s & %4100s formats in execex() calls to %s, this fixes a bug with the text output & the buffer limit is within execex() now.

[xtreebar]
changed buffer size in TraverseTreebarItems()/TraverseChildren() to MIRC_BUFFER_SIZE_CCH.
changed _xtreebar to use ret() macro to return some errors.

[mirclinker]
added m_bUnicodemIRC var to tell us when mirc V7+ is being used.
added isUnicode() function to return this var.
changed eval()/tsEval()/iEval()/exec() to use a limited lstrcpyn()
changed tsEval() to do a (res == TEXT("$false")) instead of the lstrcmp() ver.

[shelldialogs]
changed FileDialog() to use a MIRC_BUFFER_SIZE_CCH buffer size.
fixed a memleak in BrowseDialog() where pidlRoot wasn't being freed on a user cancel.
changed FontDialog() to use XSwitchFlags

[xswitchflags]
changed sign check to allow '-' & '+' signs.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1041 17a06da3-8c20-fa79-550f-e9588e724b77
file missing from last commit for some reason....


git-svn-id: https://dcx.googlecode.com/svn/trunk@1043 17a06da3-8c20-fa79-550f-e9588e724b77
[tstring]
oops stupid error in setting buffer size caused dll to throw an exception.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1045 17a06da3-8c20-fa79-550f-e9588e724b77
[dcx.zip]
changed icons/images referenced in dc.xml to files we actually have...
changed dcx_demo.mrc to properly load the dcxml doc & update the cla afterwords.

[general]
updated dev ver to 18

[dcxml]
commented out unused dcxml class.
changed how dcxmlparser class is used to avoid the memleak.
fixed cascade bug.
fixed all the compiler warnings...


git-svn-id: https://dcx.googlecode.com/svn/trunk@1046 17a06da3-8c20-fa79-550f-e9588e724b77
[dcxml]
enabled /dcxml -p command to load popup menus from xml.

[treeview]
changed xmlGetItems() buffer size to MIRC_BUFFER_SIZE_CCH
fixed xmlInsertItems() bug where items following after a subitem branch closes wouldn't be added. ('xml Item 5' & 'xml Item 1' in dc.xml)

[dcx.zip]
added treeview & listview xml data to dc.xml.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1050 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
made some changes to avoid errors with the intel compiler.
added NULL string check to calcStrippedRect()/mIRC_DrawText()
bumped dev build to 19
changed readFile() to check for NULL filename.
added mem check to readFile()
changed GetHwndFromString() to initialize string to zero.
changed initDirectX() to initialize var to 0.
added DrawRotatedText() function for drawing angled text.
changed dcxDrawShadowText() to support DT_CALCRECT when using backup drawing code.
changed mIRC_DrawText() to use a for loop instead of a while one to handle ctrl codes.
changed mIRC_DrawText() function to skip past multiple consecutive ctrl-k's, ctrl-o's, newlines, linefeeds
commented out char 10 & 13 skipping in mIRC_DrawText() as this was causing an exception.....

[dcxml]
changed several if()/while()/for()'s to be explicitly true/false
some coding style changes.
changed some mystring.replace(TEXT("\t"),TEXT("")); to mystring -= TEXT("\t");
changed 'text' control's loading to use MIRC_BUFFER_SIZE_CCH-100 instead of 800
changed 'divider' control type to only get the "width" attribute after checking the type.
changed parseControl() to use a single if() & parseItems() call when its a toolbar,treeview,combobox,list,listview instead of one for each type.
changed parseItems() to move buffer creation outside the for() loop
changed parseItems() treeview control handling to only create the buffer, instead of pointers as well.
changed queryIntAttribute() to initialize integer as the default value.

[tinyxml]
changed includes order to avoid compiler errors.
added an assert() to LinkEndChild()/Add() to avoid using a NULL pointer.
changed FirstChild()/LastChild()/NextSibling()/PreviousSibling()/FirstChildElement()/NextSiblingElement()/GetDocument()/Print()/CopyTo()/Remove()/Child()/ChildElement() to move the looped element within the for's scope.

[xpopup]
changed DrawGradient() to type the r/g/b values when setting them.
changed LoadPopupItemsFromXML() to check if its args are NULL & fail if they are.
added mem check to LoadPopupItemsFromXML() before adding menu item.

[colorcombo]
added mem check to /xdid -a & setmIRCPalette()

[comboex]
added mem check at creation time for editbox control.
changed constructor to throw an exception when the edit control alloc fails.

[dialog][panel][box]
fixed cla memleak when item path was invalid.

[listview]
added mem check to xmlSetItem()
added args == NULL check to xmlSetItem()

[rebar][stacker][tab][toolbar]
added mem check to /xdid -a

[statusbar]
added mem check to /xdid -t

[treeview]
added mem check to insertItem() & xmlInsertItems()
added queryIntAttribute() member function to help with xml loading.
changed xmlInsertItems() to use queryIntAttribute(), this fixes the styles not being reset between items.

[tstring]
changed trim() to check for start or end being NULL, & if so just returning the current object.
added strip() function which does a trim() then removes all ctrl codes from text.
changed strip() to use a for loop instead of a while one.
changed strip() function to skip past multiple consecutive ctrl-k's
small change to how the for loop works in strip()

[xdock]
added mem check to DockWindow()

[xstatusbar]
added mem check to /xstatusbar -t
commented out -f flag check in /xstatusbar -t code as its not needed atm as -f flag is the only thing that sets ownerdraw.
changed $xstatusbar().parts to initialize the parts var to zero.
added mem check to /xstatusbar -v
added some error messages to /xstatusbar -v

[box]
fixed no border drawing not correctly calling FinishAlphaBlend().
caused memleak & gfx errors.
removed some commented out code.
moved CopyRect() to after no-border check.
changed text RECT needed calcs to use calcTextRect().
added a CopyRect() to make sure the rcText is initialized.
changed text drawing to add a little space for shadow when shadow text is enabled.
changed text drawing to use DT_SINGLELINE flag.

[tinyxml]
added name == NULL check to Find(), now just returns NULL.

[controls]
uncommented DcxControl::calcTextRect()
updated calcTextRect() to use TString.strip().
changed ctrlDrawText() to take a const TString &arg.

[list]
changed WM_DRAWITEM to use calcTextRect()

[dialog]
changed /xdialog -R +p to show error when unable to alloc memory.

[line]
changed DrawClientArea() to use DrawRotatedText() function.
changed DrawClientArea() to reset the font after drawing text, if changed.
changed DrawClientArea() to use calcTextRect() function.
removed unneeded vertical font code from /xdid -t command.

[listview]
removed group style enabled checks, control will store all group info & use it when needed.



git-svn-id: https://dcx.googlecode.com/svn/trunk@1061 17a06da3-8c20-fa79-550f-e9588e724b77
[general]
added svnBuild.h include to defines.h, this include is created on compile.
changed DLL_BUILD define to use SVN_BUILD from svnBuild.h
changed a load of vars to be consts
changed Dcx::XPPlusModule to Dcx::UXModule
lots of code formatting changes.
changed all lstrcpy() calls to be lstrcpyn()
changed Dcx::load() to call UXModule.load()
changed Dcx::mIRCSubClassWinProc() to NOT handle WM_CLOSE, this fixes the dll being removed when mirc displays its quit request dialog.
changed project file to call SubWCRev.exe that creates the svnBuild.h file.
added load() function to XPPlusModule that checks OS version.
updated version replay in $dcx(Version) to 2013.
fixed readFile() not calling delete correctly.
fixed CopyToClipboard() not coppying the string correctly (crash).
fixed CopyToClipboard() using ansi flag with SetClipboardData() when it should be utf.
changed parseFontFlags() to use XSwitchFlags.
changed getmIRCPalette() to use a for loop.
changed unfoldColor() to use _wtoi()
changed mIRC_DrawText() to zero the colbuf var correctly.
changed $dcx(ColorDialog) to pre set all clr values to CLR_INVALID

[controls]
changed all parseControlStyles() to use a for loop.
changed DcxControl::parseGeneralControlStyles() to use a for loop.
changed /xdid -R to use XSwitchFlags.
changed /xdid -R +p to use a for loop.
changed DcxControl::parseColorFlags()/parseBorderStyles()/parseCursorFlags() to use XSwitchFlags.
changed WM_COLOREDIT to use CLR_INVALID instead of -1
added flag CTLF_ALLOW_ALLBUTDOCK to dcxcontrol.h
changed controlFactory() to take offset as a UINT
changed parseGlobalCommandRequest to take a const flags arg.

[xswitchflags]
added support for + & - flag prefixes.

[button]
changed parseColorFlags() to use XSwitchFlags.
changed text drawing code to support mIRC colour codes.

[calander]
changed $xdid().value to use function getValue().
changed $xdid().range to preset the min/max values to nolimit.
changed /xdid -k to use XSwitchFlags.
changed /xdid -t to be more streamlined.

[colorcombo]
changed $xdid().sel to set nItem outside the if conditional.
changed setmIRCPalette() to use a for loop.
changed ParentMessage() WM_COMMAND to simply use an if statement.

[comboex]
changed $xdid().find to use for loops.
fixed $xdid().markeditem crash.
removed m_vItemDataList usage completely.
changed /xdid -a to set CBEIF_LPARAM & supply a DCXCBITEM object.
changed /xdid -A to use the pre set numtok var instead of getting numtok() again.
fixed /xdid -A using the wrong token in gettok() for the nRow var.
changed /xdid -A to use XSwitchFlags.
added error messages to /xdid -A
changed /xdid -A to do a sanity check for cbiDcx != NULL
changed /xdid -w to check for icon != NULL before trying to add & destroy it.
changed ParentMessage() CBN_SELENDOK to use MIRC_BUFFER_SIZE_CCH instead of just 500 for buffer sizes.

[datetime]
changed $xdid().range to preset the min/max values to nolimit.
changed /xdid -t to be more streamlined.

[directshow]
changed /xdid -a to use XSwitchFlags.
fixed setAlpha() using invalid alpha values.
changed setVideo() to use XSwitchFlags.

[divider]
fixed toXml() using DVF_PANELEFT twice instead of DVF_PANERIGHT.

[ipaddress]
changed toXml() to use a 128 buffer.
added error message to /xdid -a

[listview]
added styles 'transparentbkg', 'shadowtext', 'autosize', 'headeralways', & 'hidelabels'
changed parseListviewExStyles() to use a for loop.
changed $xdid().columns/columnorder to work on all views not just report.
changed $xdid().sel to use a for loop.
changed $xdid().gid to return a value even when group view is disabled.
added $xdid().emptytext to return the controls empty text (Vista+ ONLY)
changed autoSize() to use LVSCW_AUTOSIZE_MAX instead of -3
changed /xdid -A/-n to use XSwitchFlags.
changed /xdid -c to use a for loop.
changed /xdid -n to use LVSCW_AUTOSIZE_MAX instead of -3
changed /xdid -q to set group state.
changed /xdid -t to use I_IMAGENONE instead of -1
changed /xdid -t to use a for loop.
added special case to /xdid -v for a -1 item number to set the controls empty text (non functional atm)
changed /xdid -W to work better on XP+
changed /xdid -y to do a setImageList(NULL,...) before destroying the old list.
added /xdid -H [DNAME] [ID] [+FLAGS] [ARGS] to set header attributes.
  Only +s flag supported atm which sets header styles: sortdown sortup checkbox checked nocheckbox unchecked nosort
added /xdid -G [DNAME] [ID] [GID] [+MASK] [+STATES] to set group state.
 [+FLAGS] & [+MASK] can be a combination of:
  C - Group is collapsible
  H - Hidden
  N - No Header
  O - Collapsed
  S - Selected
changed parseIconFlagOptions()/parseMassItemFlags()/parseHeaderFlags()/parseHeaderFlags2()/parseSortFlags()/parseGroupFlags()/parseColorFlags()/parseImageFlags() to use XSwitchFlags.
added parseGroupState() function.
changed getColumnCount() to do a count for all views, not just report.
changed sortItemsEx() to set a temp %var & pass the var names to the mirc alias instead of passing the data directly, this should fix some of the issues with the callback alias. (needs testing)
changed PostMessage()  HDN_ITEMCLICK to send a different message to the callback alias depending on which mouse button was pressed: hsclick, hrclick, hmclick
added PostMessage() HDN_DROPDOWN handling, which send the callback msg hdropdown
changed xmlSetItem() to always set lvi->GroupId.
changed xmlSetItem() to set the default lvi->iIdent to 0 instead of -1.
changed massSetItem() to allow setting groupid etc.. for any view, not just report view.

[dcxml]
changed parseAttributes()/parseControl()/setStyle()/parseIcons() to use queryAttribute() function in place of all the if's.
changed parseAttributes() to set the default divider width to 0 not 100

[panel][box]
changed parseLayoutFlags() to use XSwitchFlags.
changed WM_SIZE handling to not do CLA updates.
added WM_WINDOWPOSCHANGING to handle cla updates.

[toolbar]
fixed /xdid -j using the wrong token to get nMax.
added error check for + in flags to /xdid -w

[webctrl]
fixed some bugs related to BSTR use or misuse.
changed destructor code to call m_pWebBrowser2->Quit() before doing Release()

[check]
changed DrawClientArea() tp use CLR_INVALID instead of -1

[image]
changed LoadGDIPlusImage() to use XSwitchFlags.
changed DrawBMPImage() to use CLR_INVALID

[link]
changed DrawClientArea() to use ctrlDrawText()

[list]
added $xdid([DNAME],[ID],(N)).seltext to retrieve the text of the Nth selected item, or if no item requested, the first selected item.
changed $xdid().sel/xdid -c/-m to use a for loop.

[tstring]
changed findtok()/numtok() to return an unsigned int

[xpopup]
changed parseXMenuBarCommand() to gettok(2) at the start & then use the var instead of doing gettok again.
changed /xpop -a/-s to use XSwitchFlags.
changed getName()/getMarkedText() to return const TString &
changed convertMenu()/cleanMenu() to use a for loop.
changed setMarkedText() to take a const TString &
changed parseCommand()/parseIdentifier()/parseMPopup() to gettok(1) at the start & use the var instead of doing gettok again.
changed /xpopup -p/isMenuBarMenu() to use a for loop.
changed /xpopup -x/-R to use XSwitchFlags.
changed parseTrackFlags() to use XSwitchFlags.


git-svn-id: https://dcx.googlecode.com/svn/trunk@1110 17a06da3-8c20-fa79-550f-e9588e724b77
Initial merge from github and the old svn code.