| | 23 | /// A template set of functions for builds |
|---|
| | 24 | template TCompBuild() { |
|---|
| | 25 | char[] buildName; |
|---|
| | 26 | |
|---|
| | 27 | /// Set the build name and add to the menu |
|---|
| | 28 | void buildMenu(char[] sbn, wxMenu topMenu) |
|---|
| | 29 | { |
|---|
| | 30 | buildName = sbn.dup; |
|---|
| | 31 | |
|---|
| | 32 | topMenu.Append(++floatingIds, "Build"); |
|---|
| | 33 | dpsApp.EVT_MENU(floatingIds, &OnBuild); |
|---|
| | 34 | |
|---|
| | 35 | topMenu.Append(++floatingIds, "Build Verbose"); |
|---|
| | 36 | dpsApp.EVT_MENU(floatingIds, &OnBuildVerbose); |
|---|
| | 37 | |
|---|
| | 38 | topMenu.Append(++floatingIds, "Clean"); |
|---|
| | 39 | dpsApp.EVT_MENU(floatingIds, &OnClean); |
|---|
| | 40 | } |
|---|
| | 41 | |
|---|
| | 42 | /// Callback for building |
|---|
| | 43 | void OnBuild(Object s, wxEvent e) |
|---|
| | 44 | { |
|---|
| | 45 | // FIXME |
|---|
| | 46 | dpsApp.aui.AddPane( |
|---|
| | 47 | (new DPSProcessWindow("dsss build" ~ buildName)), |
|---|
| | 48 | Direction.wxRIGHT, |
|---|
| | 49 | "dsss build" ~ buildName); |
|---|
| | 50 | dpsApp.aui.Update(); |
|---|
| | 51 | } |
|---|
| | 52 | |
|---|
| | 53 | /// Callback for building verbose |
|---|
| | 54 | void OnBuildVerbose(Object s, wxEvent e) |
|---|
| | 55 | { |
|---|
| | 56 | // FIXME |
|---|
| | 57 | dpsApp.aui.AddPane( |
|---|
| | 58 | (new DPSProcessWindow("dsss build" ~ buildName ~ " -v")), |
|---|
| | 59 | Direction.wxRIGHT, |
|---|
| | 60 | "dsss build" ~ buildName ~ " -v"); |
|---|
| | 61 | dpsApp.aui.Update(); |
|---|
| | 62 | } |
|---|
| | 63 | |
|---|
| | 64 | /// Callback for cleaning |
|---|
| | 65 | void OnClean(Object s, wxEvent e) |
|---|
| | 66 | { |
|---|
| | 67 | dpsApp.aui.AddPane( |
|---|
| | 68 | (new DPSProcessWindow("dsss distclean" ~ buildName)), |
|---|
| | 69 | Direction.wxRIGHT, |
|---|
| | 70 | "dsss distclean" ~ buildName); |
|---|
| | 71 | dpsApp.aui.Update(); |
|---|
| | 72 | } |
|---|
| | 73 | } |
|---|
| | 74 | |
|---|
| 65 | | |
|---|
| 66 | | /// Callback for building |
|---|
| 67 | | void OnBuild(Object s, wxEvent e) |
|---|
| 68 | | { |
|---|
| 69 | | // FIXME |
|---|
| 70 | | dpsApp.aui.AddPane( |
|---|
| 71 | | (new DPSProcessWindow("dsss build " ~ fname)), |
|---|
| 72 | | Direction.wxRIGHT, |
|---|
| 73 | | "dsss build " ~ fname); |
|---|
| 74 | | dpsApp.aui.Update(); |
|---|
| 75 | | } |
|---|
| 76 | | |
|---|
| 77 | | /// Callback for building verbose |
|---|
| 78 | | void OnBuildVerbose(Object s, wxEvent e) |
|---|
| 79 | | { |
|---|
| 80 | | // FIXME |
|---|
| 81 | | dpsApp.aui.AddPane( |
|---|
| 82 | | (new DPSProcessWindow("dsss build " ~ fname ~ " -v")), |
|---|
| 83 | | Direction.wxRIGHT, |
|---|
| 84 | | "dsss build " ~ fname ~ " -v"); |
|---|
| 85 | | dpsApp.aui.Update(); |
|---|
| 86 | | } |
|---|
| | 116 | } |
|---|
| | 117 | |
|---|
| | 118 | /// A component for library sections |
|---|
| | 119 | class CompLibSect : Component { |
|---|
| | 120 | this(char[] name) |
|---|
| | 121 | { |
|---|
| | 122 | this.name = name.dup; |
|---|
| | 123 | } |
|---|
| | 124 | |
|---|
| | 125 | mixin TCompBuild; |
|---|
| | 126 | |
|---|
| | 127 | override void popupMenu(wxTreeCtrl tree, wxEvent e) |
|---|
| | 128 | { |
|---|
| | 129 | // Create the menu |
|---|
| | 130 | wxMenu topMenu = new wxMenu(); |
|---|
| | 131 | |
|---|
| | 132 | // Set up the build options |
|---|
| | 133 | buildMenu(" " ~ name, topMenu); |
|---|
| | 134 | |
|---|
| | 135 | // And display it |
|---|
| | 136 | tree.PopupMenu(topMenu, (cast(wxTreeEvent) e).point); |
|---|
| | 137 | } |
|---|
| | 138 | |
|---|
| | 139 | private: |
|---|
| | 140 | char[] name; |
|---|
| 151 | | topMenu.Append(++floatingIds, "Build"); |
|---|
| 152 | | dpsApp.EVT_MENU(floatingIds, &OnBuild); |
|---|
| 153 | | |
|---|
| 154 | | topMenu.Append(++floatingIds, "Build Verbose"); |
|---|
| 155 | | dpsApp.EVT_MENU(floatingIds, &OnBuildVerbose); |
|---|
| 156 | | |
|---|
| 157 | | topMenu.Append(++floatingIds, "Clean"); |
|---|
| 158 | | dpsApp.EVT_MENU(floatingIds, &OnClean); |
|---|
| 159 | | |
|---|
| | 207 | // Add build stuff |
|---|
| | 208 | buildMenu("", topMenu); |
|---|
| | 209 | |
|---|
| | 210 | // And the rest |
|---|
| 168 | | } |
|---|
| 169 | | |
|---|
| 170 | | /// Callback for building |
|---|
| 171 | | void OnBuild(Object s, wxEvent e) |
|---|
| 172 | | { |
|---|
| 173 | | dpsApp.aui.AddPane( |
|---|
| 174 | | (new DPSProcessWindow("dsss build")), |
|---|
| 175 | | Direction.wxRIGHT, |
|---|
| 176 | | "dsss build"); |
|---|
| 177 | | dpsApp.aui.Update(); |
|---|
| 178 | | } |
|---|
| 179 | | |
|---|
| 180 | | /// Callback for building verbose |
|---|
| 181 | | void OnBuildVerbose(Object s, wxEvent e) |
|---|
| 182 | | { |
|---|
| 183 | | dpsApp.aui.AddPane( |
|---|
| 184 | | (new DPSProcessWindow("dsss build -v")), |
|---|
| 185 | | Direction.wxRIGHT, |
|---|
| 186 | | "dsss build -v"); |
|---|
| 187 | | dpsApp.aui.Update(); |
|---|
| 188 | | } |
|---|
| 189 | | |
|---|
| 190 | | /// Callback for cleaning |
|---|
| 191 | | void OnClean(Object s, wxEvent e) |
|---|
| 192 | | { |
|---|
| 193 | | dpsApp.aui.AddPane( |
|---|
| 194 | | (new DPSProcessWindow("dsss distclean")), |
|---|
| 195 | | Direction.wxRIGHT, |
|---|
| 196 | | "dsss distclean"); |
|---|
| 197 | | dpsApp.aui.Update(); |
|---|