Patch #1155 2006-06-23 16:36

kaischroeder

add window style to wxFlatNotebook to scroll single tabs
Download
1155-add_window_sty.patch (138.9 KB)
Category
Application::FeatureAdd
Status
Rejected
Close date
2006-06-25 10:01
Assigned to
 
Index: src/sdk/wxFlatNotebook/wxFlatNotebook.cpp
===================================================================
--- src/sdk/wxFlatNotebook/wxFlatNotebook.cpp    (revision 2602)
+++ src/sdk/wxFlatNotebook/wxFlatNotebook.cpp    (working copy)
@@ -1,2640 +1,2708 @@
-///////////////////////////////////////////////////////////////////////////////
-// Name:        wxFlatNotebook.cpp
-// Purpose:     generic implementation of flat style notebook class.
-// Author:      Eran Ifrah <eranif@bezeqint.net>
-// Modified by: Priyank Bolia <soft@priyank.in>
-// Created:     30/12/2005
-// Modified:    01/01/2006
-// Copyright:   Eran Ifrah (c)
-// Licence:     wxWindows license <http://www.wxwidgets.org/licence3.txt>
-///////////////////////////////////////////////////////////////////////////////
-
-namespace FNB
-{
-    ////////////////////////////////////////////////////////////
-    // Images used by the control
-    ////////////////////////////////////////////////////////////
-    /* XPM */
-    const char *left_arrow_disabled_xpm[] = {
-        /* width height num_colors chars_per_pixel */
-        "    16    16        8            1",
-            /* colors */
-            "` c #008080",
-            ". c #555555",
-            "# c #000000",
-            "a c #000000",
-            "b c #000000",
-            "c c #000000",
-            "d c #000000",
-            "e c #000000",
-            /* pixels */
-            "````````````````",
-            "````````````````",
-            "````````````````",
-            "````````.```````",
-            "```````..```````",
-            "``````.`.```````",
-            "`````.``.```````",
-            "````.```.```````",
-            "`````.``.```````",
-            "``````.`.```````",
-            "```````..```````",
-            "````````.```````",
-            "````````````````",
-            "````````````````",
-            "````````````````",
-            "````````````````"
-    };
-
-    /* XPM */
-    const char *x_button_pressed_xpm[] = {
-        /* width height num_colors chars_per_pixel */
-        "    16    16        8            1",
-            /* colors */
-            "` c #008080",
-            ". c #4766e0",
-            "# c #9e9ede",
-            "a c #000000",
-            "b c #000000",
-            "c c #000000",
-            "d c #000000",
-            "e c #000000",
-            /* pixels */
-            "````````````````",
-            "`..............`",
-            "`.############.`",
-            "`.############.`",
-            "`.############.`",
-            "`.###aa####aa#.`",
-            "`.####aa##aa##.`",
-            "`.#####aaaa###.`",
-            "`.######aa####.`",
-            "`.#####aaaa###.`",
-            "`.####aa##aa##.`",
-            "`.###aa####aa#.`",
-            "`.############.`",
-            "`..............`",
-            "````````````````",
-            "````````````````"
-    };
-
-
-    /* XPM */
-    const char *left_arrow_xpm[] = {
-        /* width height num_colors chars_per_pixel */
-        "    16    16        8            1",
-            /* colors */
-            "` c #008080",
-            ". c #555555",
-            "# c #000000",
-            "a c #000000",
-            "b c #000000",
-            "c c #000000",
-            "d c #000000",
-            "e c #000000",
-            /* pixels */
-            "````````````````",
-            "````````````````",
-            "````````````````",
-            "````````.```````",
-            "```````..```````",
-            "``````...```````",
-            "`````....```````",
-            "````.....```````",
-            "`````....```````",
-            "``````...```````",
-            "```````..```````",
-            "````````.```````",
-            "````````````````",
-            "````````````````",
-            "````````````````",
-            "````````````````"
-    };
-
-    /* XPM */
-    const char *x_button_hilite_xpm[] = {
-        /* width height num_colors chars_per_pixel */
-        "    16    16        8            1",
-            /* colors */
-            "` c #008080",
-            ". c #4766e0",
-            "# c #c9dafb",
-            "a c #000000",
-            "b c #000000",
-            "c c #000000",
-            "d c #000000",
-            "e c #000000",
-            /* pixels */
-            "````````````````",
-            "`..............`",
-            "`.############.`",
-            "`.############.`",
-            "`.##aa####aa##.`",
-            "`.###aa##aa###.`",
-            "`.####aaaa####.`",
-            "`.#####aa#####.`",
-            "`.####aaaa####.`",
-            "`.###aa##aa###.`",
-            "`.##aa####aa##.`",
-            "`.############.`",
-            "`.############.`",
-            "`..............`",
-            "````````````````",
-            "````````````````"
-    };
-
-    /* XPM */
-    const char *x_button_xpm[] = {
-        /* width height num_colors chars_per_pixel */
-        "    1
download for full patch...
kaischroeder 2006-06-23 16:40

somehow svn diff has not managed to create a better patch (i.e. not replace the whole file). does anyone know how to improve that?

discussion about the patch:

http://forums.codeblocks.org/index.php?topic=3398.0

thomasdenk 2006-06-25 10:01

Since this is a wxFlatNotebook patch, you should submit it to the wxFlatNotebook project: http://sourceforge.net/projects/wxflatnotebook

Without having looked at the patch at all, I think it is an extremely bad idea to introduce a patch into a 3rd party library if we don't absolutely have to. If the changed functionality goes into the "official" library, we will get it "for free" when we update to the library's next version, and it will make no problems.

As it happens, we already *have to* patch wxFlatNotebook for Code::Blocks, and this is causing a lot of extra work every time we update to a newer version.

Adding yet more customisations which are not *absolutely* necessary adds more grief. The farther you move away from the official version, the worse.

Regarding your question about svn diff, it normally only replaces the lines that you have actually changed.

If it replaces the whole file even though you have only changed a few lines, then you have probably run the source formatter by accident. This will obviously reformat major parts (if not all) of the document, and thus Subversion will diff all of it.