Re: Foreign key dialog
require($_SERVER['DOCUMENT_ROOT']."/includes/top_config.php");
?>
Re: Foreign key dialog
Guillaume Lelarge wrote:
> Dave Page a écrit :
>> Guillaume Lelarge wrote:
>>> I was looking at a foreign key details. I wonder why the "FK index name"
>>> is only available on the dialog. Or is it the same thing that the
>>> "Covering index" on the details table ?
>> I believe so, yes. The naming difference could be fixed I guess.
>>
>
> I'll check that and fix if necessary.
>
Done with this patch (needs an embed-xrc run).
>>> ISTM that either the "Auto Index" checkbox should be checked or the "FK
>>> index name" should be disabled till "Auto Index" checkbox is checked.
>> The checkbox tells pgAdmin to create an index with the specified name to
>> cover the FK columns. When looking at the properties later, it will
>> always be cleared - though I guess it might be better to set it if there
>> is an index, and disable both it and the index name field.
>>
>> Are you going to tweak that with the other stuff you were going to do?
>>
> [...]
>
> Anyways, I'll look at the fk stuff tomorrow morning. I'll take some time
> to do it.
>
Done too. I've put the dlgForeignKey::OnCheckDeferrable() code on
dlgForeignKey::CheckChange() because we need to have chkDeferred
disabled when we open the dlgForeignKey to create a new foreign key. The
rest of the code checks chkAutoIndex value to enable/disable stIndexName
and txtIndexName.
Seems to work as I want. If you think this is enough, I can apply it
(1.8 branch and trunk ?).
Regards.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
Index: pgadmin/dlg/dlgForeignKey.cpp
===================================================================
--- pgadmin/dlg/dlgForeignKey.cpp (révision 6897)
+++ pgadmin/dlg/dlgForeignKey.cpp (copie de travail)
@@ -43,7 +43,7 @@
BEGIN_EVENT_TABLE(dlgForeignKey, dlgProperty)
- EVT_CHECKBOX(XRCID("chkDeferrable"), dlgForeignKey::OnCheckDeferrable)
+ EVT_CHECKBOX(XRCID("chkDeferrable"), dlgProperty::OnChange)
EVT_CHECKBOX(XRCID("chkAutoIndex") , dlgProperty::OnChange)
EVT_TEXT(XRCID("txtIndexName"), dlgProperty::OnChange)
@@ -80,16 +80,6 @@
}
-void dlgForeignKey::OnCheckDeferrable(wxCommandEvent &ev)
-{
- bool canDef=chkDeferrable->GetValue();
- stDeferred->Enable(canDef);
- if (!canDef)
- chkDeferred->SetValue(false);
- chkDeferred->Enable(canDef);
-}
-
-
wxString dlgForeignKey::DefaultIndexName(const wxString &name)
{
if (name.Left(3) == wxT("fk_"))
@@ -129,7 +119,15 @@
cols += qtIdent(lstColumns->GetText(pos));
}
+ bool canDef=chkDeferrable->GetValue();
+ stDeferred->Enable(canDef);
+ if (!canDef)
+ chkDeferred->SetValue(false);
+ chkDeferred->Enable(canDef);
+ stIndexName->Enable(chkAutoIndex->GetValue());
+ txtIndexName->Enable(chkAutoIndex->GetValue());
+
wxString coveringIndex;
if (table)
coveringIndex = table->GetCoveringIndex(mainForm->GetBrowser(), cols);
@@ -143,7 +141,7 @@
txtIndexName->SetValue(savedIndexName);
}
- wxString idxName=txtIndexName->GetValue().Strip(wxString::both);
+ wxString idxName = txtIndexName->GetValue().Strip(wxString::both);
if (name != savedFKName || idxName == savedIndexName)
{
@@ -158,7 +156,7 @@
else
{
if (chkAutoIndex->IsEnabled())
- savedIndexName=txtIndexName->GetValue();
+ savedIndexName = txtIndexName->GetValue();
txtIndexName->SetValue(coveringIndex);
chkAutoIndex->SetValue(false);
@@ -191,6 +189,7 @@
_("Please specify FK index name."));
EnableOK(enable);
}
+
}
Index: pgadmin/ui/dlgForeignKey.xrc
===================================================================
--- pgadmin/ui/dlgForeignKey.xrc (révision 6897)
+++ pgadmin/ui/dlgForeignKey.xrc (copie de travail)
@@ -126,7 +126,7 @@
<object class="wxStaticText" name="stIndexName">
- <label>FK index name</label>
+ <label>Covering index</label>
<pos>5,88d</pos>
Home |
Main Index |
Thread Index