summary refs log blame commit diff stats
path: root/win32/wdkpt/vs2010/wdkpt.aip
blob: 38502e5e4d4795bd283e5cd607562be2d0d90341 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                        
                                                                                                                                                               






                                                                                                                                                                                                                                                  



                                                                                                      
                                                                                                 
                                                   
                                                                                                                
                                                           










                                                                                                                
                                                                                                 










                                                                                                                                                                                        
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DOCUMENT Type="Advanced Installer" CreateVersion="9.2" version="9.5" Modules="simple" RootPath="." Language="en" Id="{F800981F-A57B-40E4-91FE-3C228741E1AD}">
  <COMPONENT cid="caphyon.advinst.msicomp.MsiValidationComponent">
    <ROW Table="File" Column="Sequence" MinValue="1" MaxValue="32767" Description="Sequence with respect to the media images; order must track cabinet order." Options="0" ColumnType="2" ColumnIndex="7" ColumnSize="2" MsiKey="File#Sequence"/>
    <ROW Table="Media" Column="LastSequence" MinValue="0" MaxValue="32767" Description="File sequence number for the last file for this media." Options="0" ColumnType="2" ColumnIndex="1" ColumnSize="2" MsiKey="Media#LastSequence"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiPropsComponent">
    <ROW Property="ALLUSERS" Value="2" MultiBuildValue="DefaultBuild:1"/>
    <ROW Property="ARPCOMMENTS" Value="This installer database contains the logic and data required to install [|ProductName]." ValueLocId="*"/>
    <ROW Property="ARPHELPLINK" Value="http://www.hexchat.org/developers/wdk-platform-toolset"/>
    <ROW Property="ARPURLINFOABOUT" Value="http://www.hexchat.org/developers/wdk-platform-toolset"/>
    <ROW Property="ARPURLUPDATEINFO" Value="http://www.hexchat.org/developers/wdk-platform-toolset"/>
    <ROW Property="Manufacturer" Value="HexChat" ValueLocId="*"/>
    <ROW Property="ProductCode" Value="1033:{6C7B98A1-9E15-4756-9FCA-0566ED776BE3} " Type="16"/>
    <ROW Property="ProductLanguage" Value="1033"/>
    <ROW Property="ProductName" Value="Visual Studio 2010 Windows Driver Kit Platform Toolset" ValueLocId="*"/>
    <ROW Property="ProductVersion" Value="1.1" Type="32"/>
    <ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND"/>
    <ROW Property="UpgradeCode" Value="{1947FE78-21A1-4B81-99CE-E07AAEE6077D}"/>
    <ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
    <ROW Property="WindowsType9XDisplay" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiDirsComponent">
    <ROW Directory="APPDIR" Directory_Parent="TARGETDIR" DefaultDir="APPDIR:." IsPseudoRoot="1"/>
    <ROW Directory="MSBuild_Dir" Directory_Parent="ProgramFilesFolder" DefaultDir="MSBuild"/>
    <ROW Directory="Microsoft.Cpp_Dir" Directory_Parent="MSBuild_Dir" DefaultDir="Micros~1.Cpp|Microsoft.Cpp"/>
    <ROW Directory="PlatformToolsets_1_Dir" Directory_Parent="x64_Dir" DefaultDir="Platfo~1|PlatformToolsets"/>
    <ROW Directory="PlatformToolsets_Dir" Directory_Parent="Win32_Dir" DefaultDir="Platfo~1|PlatformToolsets"/>
    <ROW Directory="Platforms_Dir" Directory_Parent="v4.0_Dir" DefaultDir="Platfo~1|Platforms"/>
    <ROW Directory="ProgramFilesFolder" Directory_Parent="TARGETDIR" DefaultDir="Progra~1|ProgramFilesFolder" IsPseudoRoot="1"/>
    <ROW Directory="TARGETDIR" DefaultDir="SourceDir"/>
    <ROW Directory="WDK7_1_Dir" Directory_Parent="PlatformToolsets_1_Dir" DefaultDir="WDK7"/>
    <ROW Directory="WDK7_Dir" Directory_Parent="PlatformToolsets_Dir" DefaultDir="WDK7"/>
    <ROW Directory="Win32_Dir" Directory_Parent="Platforms_Dir" DefaultDir="Win32"/>
    <ROW Directory="v4.0_Dir" Directory_Parent="Microsoft.Cpp_Dir" DefaultDir="v4.0"/>
    <ROW Directory="x64_Dir" Directory_Parent="Platforms_Dir" DefaultDir="x64"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
    <ROW Component="Microsoft.Cpp.Win32.WDK7.props" ComponentId="{3EA16365-3C7E-4F84-A326-C7F28B33F487}" Directory_="WDK7_Dir" Attributes="0" KeyPath="Microsoft.Cpp.Win32.WDK7.props" Type="0"/>
    <ROW Component="Microsoft.Cpp.x64.WDK7.props" ComponentId="{50DB333C-5D3E-4A14-80B9-BA1D727BD220}" Directory_="WDK7_1_Dir" Attributes="0" KeyPath="Microsoft.Cpp.x64.WDK7.props" Type="0"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
    <ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0" Components="Microsoft.Cpp.Win32.WDK7.props Microsoft.Cpp.x64.WDK7.props"/>
    <ATTRIBUTE name="CurrentFeature" value="MainFeature"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiFilesComponent">
    <ROW File="Microsoft.Cpp.Win32.WDK7.props" Component_="Microsoft.Cpp.Win32.WDK7.props" FileName="Micros~1.pro|Microsoft.Cpp.Win32.WDK7.props" Attributes="0" SourcePath="Microsoft.Cpp.Win32.WDK7.props" SelfReg="false" NextFile="Microsoft.Cpp.Win32.WDK7.targets"/>
    <ROW File="Microsoft.Cpp.Win32.WDK7.targets" Component_="Microsoft.Cpp.Win32.WDK7.props" FileName="Micros~1.tar|Microsoft.Cpp.Win32.WDK7.targets" Attributes="0" SourcePath="Microsoft.Cpp.Win32.WDK7.targets" SelfReg="false" NextFile="Microsoft.Cpp.x64.WDK7.props"/>
    <ROW File="Microsoft.Cpp.x64.WDK7.props" Component_="Microsoft.Cpp.x64.WDK7.props" FileName="Micros~1.pro|Microsoft.Cpp.x64.WDK7.props" Attributes="0" SourcePath="Microsoft.Cpp.x64.WDK7.props" SelfReg="false" NextFile="Microsoft.Cpp.x64.WDK7.targets"/>
    <ROW File="Microsoft.Cpp.x64.WDK7.targets" Component_="Microsoft.Cpp.x64.WDK7.props" FileName="Micros~1.tar|Microsoft.Cpp.x64.WDK7.targets" Attributes="0" SourcePath="Microsoft.Cpp.x64.WDK7.targets" SelfReg="false"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
    <ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="." PackageFileName="Visual Studio 2010 Windows Driver Kit Platform Toolset 1.1" Languages="en" InstallationType="4" UseLargeSchema="true"/>
    <ATTRIBUTE name="CurrentBuild" value="DefaultBuild"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
    <ROW Path="&lt;AI_DICTS&gt;ui.ail"/>
    <ROW Path="&lt;AI_DICTS&gt;ui_en.ail"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.FragmentComponent">
    <ROW Fragment="CommonUI.aip" Path="&lt;AI_FRAGS&gt;CommonUI.aip"/>
    <ROW Fragment="MaintenanceTypeDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\MaintenanceTypeDlg.aip"/>
    <ROW Fragment="MaintenanceWelcomeDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\MaintenanceWelcomeDlg.aip"/>
    <ROW Fragment="SequenceDialogs.aip" Path="&lt;AI_THEMES&gt;classic\fragments\SequenceDialogs.aip"/>
    <ROW Fragment="Sequences.aip" Path="&lt;AI_FRAGS&gt;Sequences.aip"/>
    <ROW Fragment="StaticUIStrings.aip" Path="&lt;AI_FRAGS&gt;StaticUIStrings.aip"/>
    <ROW Fragment="UI.aip" Path="&lt;AI_THEMES&gt;classic\fragments\UI.aip"/>
    <ROW Fragment="Validation.aip" Path="&lt;AI_FRAGS&gt;Validation.aip"/>
    <ROW Fragment="VerifyRemoveDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\VerifyRemoveDlg.aip"/>
    <ROW Fragment="VerifyRepairDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\VerifyRepairDlg.aip"/>
    <ROW Fragment="WelcomeDlg.aip" Path="&lt;AI_THEMES&gt;classic\fragments\WelcomeDlg.aip"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiBinaryComponent">
    <ROW Name="aicustact.dll" SourcePath="&lt;AI_CUSTACTS&gt;aicustact.dll"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiControlComponent">
    <ATTRIBUTE name="FixedSizeBitmaps" value="0"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiControlEventComponent">
    <ROW Dialog_="WelcomeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_INSTALL" Ordering="1"/>
    <ROW Dialog_="MaintenanceWelcomeDlg" Control_="Next" Event="NewDialog" Argument="MaintenanceTypeDlg" Condition="AI_MAINT" Ordering="99"/>
    <ROW Dialog_="CustomizeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_MAINT" Ordering="101"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_INSTALL" Ordering="197"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Back" Event="NewDialog" Argument="WelcomeDlg" Condition="AI_INSTALL" Ordering="201"/>
    <ROW Dialog_="CustomizeDlg" Control_="Back" Event="NewDialog" Argument="MaintenanceTypeDlg" Condition="AI_MAINT" Ordering="1"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_MAINT" Ordering="198"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Back" Event="NewDialog" Argument="CustomizeDlg" Condition="AI_MAINT" Ordering="202"/>
    <ROW Dialog_="MaintenanceTypeDlg" Control_="ChangeButton" Event="NewDialog" Argument="CustomizeDlg" Condition="AI_MAINT" Ordering="501"/>
    <ROW Dialog_="MaintenanceTypeDlg" Control_="Back" Event="NewDialog" Argument="MaintenanceWelcomeDlg" Condition="AI_MAINT" Ordering="1"/>
    <ROW Dialog_="MaintenanceTypeDlg" Control_="RemoveButton" Event="NewDialog" Argument="VerifyRemoveDlg" Condition="AI_MAINT AND InstallMode=&quot;Remove&quot;" Ordering="601"/>
    <ROW Dialog_="VerifyRemoveDlg" Control_="Back" Event="NewDialog" Argument="MaintenanceTypeDlg" Condition="AI_MAINT AND InstallMode=&quot;Remove&quot;" Ordering="1"/>
    <ROW Dialog_="MaintenanceTypeDlg" Control_="RepairButton" Event="NewDialog" Argument="VerifyRepairDlg" Condition="AI_MAINT AND InstallMode=&quot;Repair&quot;" Ordering="601"/>
    <ROW Dialog_="VerifyRepairDlg" Control_="Back" Event="NewDialog" Argument="MaintenanceTypeDlg" Condition="AI_MAINT AND InstallMode=&quot;Repair&quot;" Ordering="1"/>
    <ROW Dialog_="VerifyRepairDlg" Control_="Repair" Event="EndDialog" Argument="Return" Condition="AI_MAINT AND InstallMode=&quot;Repair&quot;" Ordering="399"/>
    <ROW Dialog_="VerifyRemoveDlg" Control_="Remove" Event="EndDialog" Argument="Return" Condition="AI_MAINT AND InstallMode=&quot;Remove&quot;" Ordering="299"/>
    <ROW Dialog_="PatchWelcomeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_PATCH" Ordering="201"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_PATCH" Ordering="199"/>
    <ROW Dialog_="VerifyReadyDlg" Control_="Back" Event="NewDialog" Argument="PatchWelcomeDlg" Condition="AI_PATCH" Ordering="203"/>
    <ROW Dialog_="ResumeDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_RESUME" Ordering="299"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiCustActComponent">
    <ROW Action="AI_DOWNGRADE" Type="19" Target="4010"/>
    <ROW Action="AI_InstallModeCheck" Type="1" Source="aicustact.dll" Target="UpdateInstallMode" WithoutSeq="true"/>
    <ROW Action="AI_PREPARE_UPGRADE" Type="65" Source="aicustact.dll" Target="PrepareUpgrade"/>
    <ROW Action="AI_RESTORE_LOCATION" Type="65" Source="aicustact.dll" Target="RestoreLocation"/>
    <ROW Action="AI_ResolveKnownFolders" Type="1" Source="aicustact.dll" Target="AI_ResolveKnownFolders"/>
    <ROW Action="AI_ResolveLocalizedCredentials" Type="1" Source="aicustact.dll" Target="GetLocalizedCredentials"/>
    <ROW Action="AI_SHOW_LOG" Type="65" Source="aicustact.dll" Target="LaunchLogFile" WithoutSeq="true"/>
    <ROW Action="AI_STORE_LOCATION" Type="51" Source="ARPINSTALLLOCATION" Target="[APPDIR]"/>
    <ROW Action="SET_APPDIR" Type="307" Source="APPDIR" Target="[ProgramFilesFolder][Manufacturer]\[ProductName]"/>
    <ROW Action="SET_SHORTCUTDIR" Type="307" Source="SHORTCUTDIR" Target="[ProgramMenuFolder][ProductName]"/>
    <ROW Action="SET_TARGETDIR_TO_APPDIR" Type="51" Source="TARGETDIR" Target="[APPDIR]"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiInstExSeqComponent">
    <ROW Action="AI_DOWNGRADE" Condition="AI_NEWERPRODUCTFOUND AND (UILevel &lt;&gt; 5)" Sequence="210"/>
    <ROW Action="AI_RESTORE_LOCATION" Condition="APPDIR=&quot;&quot;" Sequence="749"/>
    <ROW Action="AI_STORE_LOCATION" Condition="(Not Installed) OR REINSTALL" Sequence="1501"/>
    <ROW Action="AI_PREPARE_UPGRADE" Condition="AI_UPGRADE=&quot;No&quot; AND (Not Installed)" Sequence="1399"/>
    <ROW Action="AI_ResolveKnownFolders" Sequence="52"/>
    <ROW Action="AI_ResolveLocalizedCredentials" Sequence="51"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiInstallUISequenceComponent">
    <ROW Action="AI_RESTORE_LOCATION" Condition="APPDIR=&quot;&quot;" Sequence="749"/>
    <ROW Action="AI_ResolveKnownFolders" Sequence="52"/>
    <ROW Action="AI_ResolveLocalizedCredentials" Sequence="51"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiLaunchConditionsComponent">
    <ROW Condition="VersionNT" Description="[ProductName] cannot be installed on [WindowsType9XDisplay]" DescriptionLocId="AI.LaunchCondition.No9X" IsPredefined="true" Builds="DefaultBuild"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiThemeComponent">
    <ATTRIBUTE name="UsedTheme" value="classic"/>
  </COMPONENT>
  <COMPONENT cid="caphyon.advinst.msicomp.MsiUpgradeComponent">
    <ROW UpgradeCode="[|UpgradeCode]" VersionMax="[|ProductVersion]" Attributes="1025" ActionProperty="OLDPRODUCTS"/>
    <ROW UpgradeCode="[|UpgradeCode]" VersionMin="[|ProductVersion]" Attributes="2" ActionProperty="AI_NEWERPRODUCTFOUND"/>
  </COMPONENT>
</DOCUMENT>
/span> } default: text++; len++; } } } static void pevent_dialog_close (GtkWidget *wid, gpointer arg) { pevent_dialog = NULL; pevent_save (NULL); } static void pevent_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpointer data) { GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_list)); GtkTreePath *path; GtkTreeIter iter; GtkXText *xtext = GTK_XTEXT (pevent_dialog_twid); int len, m; const char *text; char *out; int sig; if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), &iter, ROW_COLUMN, &sig, -1)) return; text = new_text; len = strlen (new_text); if (pevt_build_string (text, &out, &m) != 0) { fe_message (_("There was an error parsing the string"), FE_MSG_ERROR); return; } if (m > (te[sig].num_args & 0x7f)) { g_free (out); out = g_strdup_printf ( _("This signal is only passed %d args, $%d is invalid"), te[sig].num_args & 0x7f, m); fe_message (out, FE_MSG_WARN); g_free (out); return; } path = gtk_tree_path_new_from_string (pathstr); gtk_tree_model_get_iter (model, &iter, path); gtk_list_store_set (GTK_LIST_STORE (model), &iter, TEXT_COLUMN, new_text, -1); gtk_tree_path_free (path); g_free (pntevts_text[sig]); g_free (pntevts[sig]); pntevts_text[sig] = g_strdup (text); pntevts[sig] = out; out = g_malloc (len + 2); memcpy (out, text, len + 1); out[len] = '\n'; out[len + 1] = 0; check_special_chars (out, TRUE); PrintTextRaw (xtext->buffer, out, 0, 0); g_free (out); /* Scroll to bottom */ gtk_adjustment_set_value (xtext->adj, gtk_adjustment_get_upper (xtext->adj)); /* save this when we exit */ prefs.save_pevents = 1; } static void pevent_dialog_hfill (GtkWidget *list, int e) { int i = 0; char *text; GtkTreeIter iter; GtkListStore *store; store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); gtk_list_store_clear (store); while (i < (te[e].num_args & 0x7f)) { text = _(te[e].help[i]); i++; if (text[0] == '\001') text++; gtk_list_store_insert_with_values (store, &iter, -1, 0, i, 1, text, -1); } } static void pevent_selection_changed (GtkTreeSelection *sel, gpointer userdata) { GtkTreeIter iter; int sig; if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), &iter, ROW_COLUMN, &sig, -1)) { gtk_list_store_clear (GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_hlist)))); return; } pevent_dialog_hfill (pevent_dialog_hlist, sig); } static void pevent_dialog_fill (GtkWidget *list) { int i; GtkListStore *store; GtkTreeIter iter; store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); gtk_list_store_clear (store); i = NUM_XP; do { i--; gtk_list_store_insert_with_values (store, &iter, 0, EVENT_COLUMN, te[i].name, TEXT_COLUMN, pntevts_text[i], ROW_COLUMN, i, -1); } while (i != 0); } static void pevent_save_req_cb (void *arg1, char *file) { if (file) pevent_save (file); } static void pevent_save_cb (GtkWidget * wid, void *data) { if (data) { gtkutil_file_req (_("Print Texts File"), pevent_save_req_cb, NULL, NULL, NULL, FRF_WRITE); return; } pevent_save (NULL); } static void pevent_load_req_cb (void *arg1, char *file) { if (file) { pevent_load (file); pevent_make_pntevts (); pevent_dialog_fill (pevent_dialog_list); prefs.save_pevents = 1; } } static void pevent_load_cb (GtkWidget * wid, void *data) { gtkutil_file_req (_("Print Texts File"), pevent_load_req_cb, NULL, NULL, NULL, 0); } static void pevent_ok_cb (GtkWidget * wid, void *data) { gtk_widget_destroy (pevent_dialog); } static void pevent_test_cb (GtkWidget * wid, GtkWidget * twid) { int len, n; char *out, *text; for (n = 0; n < NUM_XP; n++) { text = _(pntevts_text[n]); len = strlen (text); out = g_malloc (len + 2); memcpy (out, text, len + 1); out[len] = '\n'; out[len + 1] = 0; check_special_chars (out, TRUE); PrintTextRaw (GTK_XTEXT (twid)->buffer, out, 0, 0); g_free (out); } } static GtkWidget * pevent_treeview_new (GtkWidget *box) { GtkWidget *scroll; GtkListStore *store; GtkTreeViewColumn *col; GtkTreeSelection *sel; GtkWidget *view; GtkCellRenderer *render; scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); gtk_widget_set_size_request (GTK_WIDGET (scroll), -1, 250); store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); g_return_val_if_fail (store != NULL, NULL); view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), TRUE); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (pevent_selection_changed), NULL); render = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes ( GTK_TREE_VIEW (view), EVENT_COLUMN, _("Event"), render, "text", EVENT_COLUMN, NULL); render = gtk_cell_renderer_text_new (); g_object_set (render, "editable", TRUE, NULL); g_signal_connect (G_OBJECT (render), "edited", G_CALLBACK (pevent_edited), NULL); gtk_tree_view_insert_column_with_attributes ( GTK_TREE_VIEW (view), TEXT_COLUMN, _("Text"), render, "text", TEXT_COLUMN, NULL); col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), EVENT_COLUMN); gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_resizable (col, TRUE); gtk_tree_view_column_set_min_width (col, 100); gtk_container_add (GTK_CONTAINER (scroll), view); gtk_container_add (GTK_CONTAINER (box), scroll); return view; } static GtkWidget * pevent_hlist_treeview_new (GtkWidget *box) { GtkWidget *scroll; GtkListStore *store; GtkTreeViewColumn *col; GtkWidget *view; GtkCellRenderer *render; scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); g_return_val_if_fail (store != NULL, NULL); view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), FALSE); gtk_widget_set_can_focus (view, FALSE); render = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes ( GTK_TREE_VIEW (view), 0, _("$ Number"), render, "text", 0, NULL); render = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes ( GTK_TREE_VIEW (view), 1, _("Description"), render, "text", 1, NULL); col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0); gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_container_add (GTK_CONTAINER (scroll), view); gtk_container_add (GTK_CONTAINER (box), scroll); return view; } void pevent_dialog_show () { GtkWidget *vbox, *hbox, *wid, *pane; if (pevent_dialog) { mg_bring_tofront (pevent_dialog); return; } pevent_dialog = mg_create_generic_tab ("edit events", _("Edit Events"), TRUE, FALSE, pevent_dialog_close, NULL, 600, 455, &vbox, 0); pane = gtk_vpaned_new (); gtk_box_pack_start (GTK_BOX (vbox), pane, TRUE, TRUE, 0); pevent_dialog_list = pevent_treeview_new (pane); pevent_dialog_fill (pevent_dialog_list); pevent_dialog_hlist = pevent_hlist_treeview_new (pane); wid = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (wid), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); gtk_box_pack_start (GTK_BOX (vbox), wid, FALSE, TRUE, 0); pevent_dialog_twid = gtk_xtext_new (colors, 0); gtk_widget_set_sensitive (pevent_dialog_twid, FALSE); gtk_widget_set_size_request (pevent_dialog_twid, -1, 75); gtk_container_add (GTK_CONTAINER (wid), pevent_dialog_twid); gtk_xtext_set_font (GTK_XTEXT (pevent_dialog_twid), prefs.hex_text_font); hbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 4); gtkutil_button (hbox, GTK_STOCK_SAVE_AS, NULL, pevent_save_cb, (void *) 1, _("Save As...")); gtkutil_button (hbox, GTK_STOCK_OPEN, NULL, pevent_load_cb, NULL, _("Load From...")); gtkutil_button (hbox, NULL, NULL, pevent_test_cb, pevent_dialog_twid, _("Test All")); gtkutil_button (hbox, GTK_STOCK_OK, NULL, pevent_ok_cb, NULL, _("OK")); gtk_widget_show_all (pevent_dialog); }