Log Message:
-----------
Further pgAgent updates. Move schedules and steps under pgCollection nodes.

Modified Files:
--------------
    pgadmin3/src/agent:
        dlgSchedule.cpp (r1.13 -> r1.14)
        dlgStep.cpp (r1.12 -> r1.13)
        pgaAgent.cpp (r1.10 -> r1.11)
        pgaJob.cpp (r1.10 -> r1.11)
        pgaSchedule.cpp (r1.12 -> r1.13)
        pgaStep.cpp (r1.11 -> r1.12)
    pgadmin3/src/agent/include:
        pgaSchedule.h (r1.9 -> r1.10)
        pgaStep.h (r1.8 -> r1.9)
    pgadmin3/src/include:
        pgCollection.h (r1.16 -> r1.17)
        pgObject.h (r1.63 -> r1.64)
    pgadmin3/src/schema:
        pgCollection.cpp (r1.39 -> r1.40)
        pgObject.cpp (r1.78 -> r1.79)

Index: pgaSchedule.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaSchedule.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lsrc/agent/pgaSchedule.cpp -Lsrc/agent/pgaSchedule.cpp -u -w -r1.12 -r1.13
--- src/agent/pgaSchedule.cpp
+++ src/agent/pgaSchedule.cpp
@@ -28,8 +28,8 @@
 WX_DEFINE_OBJARRAY(wxArrayTimeSpan);
 
 
-pgaSchedule::pgaSchedule(pgaJob *_job, const wxString& newName)
-: pgaJobObject(_job, PGA_SCHEDULE, newName)
+pgaSchedule::pgaSchedule(pgCollection *_collection, const wxString& newName)
+: pgaJobObject(_collection->GetJob(), PGA_SCHEDULE, newName)
 {
     wxLogInfo(wxT("Creating a pgaSchedule object"));
 }
@@ -106,8 +106,8 @@
     wxTreeItemId parentItem=browser->GetItemParent(item);
     if (parentItem)
     {
-        pgaJob *obj=(pgaJob*)browser->GetItemData(parentItem);
-        if (obj->GetType() == PGA_JOB)
+        pgCollection *obj=(pgCollection*)browser->GetItemData(parentItem);
+        if (obj->GetType() == PGA_SCHEDULES)
             schedule = ReadObjects(obj, 0);
     }
     return schedule;
@@ -115,13 +115,13 @@
 
 
 
-pgObject *pgaSchedule::ReadObjects(pgaJob *job, wxTreeCtrl *browser, const 
wxString &restriction)
+pgObject *pgaSchedule::ReadObjects(pgCollection *collection, wxTreeCtrl 
*browser, const wxString &restriction)
 {
     pgaSchedule *schedule=0;
 
-    pgSet *schedules= job->GetDatabase()->ExecuteSet(
+    pgSet *schedules= collection->GetDatabase()->ExecuteSet(
        wxT("SELECT * FROM pgadmin.pga_schedule\n")
-       wxT(" WHERE jscjobid=") + NumToStr(job->GetId()) + wxT("\n")
+       wxT(" WHERE jscjobid=") + NumToStr(collection->GetId()) + wxT("\n")
        + restriction +
        wxT(" ORDER BY jscid"));
 
@@ -130,9 +130,9 @@
         while (!schedules->Eof())
         {
 
-            schedule = new pgaSchedule(job, schedules->GetVal(wxT("jscname")));
+            schedule = new pgaSchedule(collection, 
schedules->GetVal(wxT("jscname")));
             schedule->iSetId(schedules->GetLong(wxT("jscid")));
-            schedule->iSetDatabase(job->GetDatabase());
+            schedule->iSetDatabase(collection->GetDatabase());
             schedule->iSetStart(schedules->GetDateTime(wxT("jscstart")));
             schedule->iSetEnd(schedules->GetDateTime(wxT("jscend")));
             schedule->iSetSchedule(schedules->GetDateTime(wxT("jscsched")));
@@ -157,7 +157,7 @@
 
             if (browser)
             {
-                job->AppendBrowserItem(browser, schedule);
+                collection->AppendBrowserItem(browser, schedule);
                                schedules->MoveNext();
             }
             else
Index: dlgStep.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/dlgStep.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lsrc/agent/dlgStep.cpp -Lsrc/agent/dlgStep.cpp -u -w -r1.12 -r1.13
--- src/agent/dlgStep.cpp
+++ src/agent/dlgStep.cpp
@@ -112,7 +112,7 @@
 {
     wxString name=GetName();
 
-    pgObject *obj=pgaStep::ReadObjects(job, 0, wxT("   AND jstid=") + 
NumToStr(id) + wxT("\n"));
+    pgObject *obj=pgaStep::ReadObjects(collection, 0, wxT("   AND jstid=") + 
NumToStr(id) + wxT("\n"));
     return obj;
 }
 
Index: pgaStep.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaStep.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lsrc/agent/pgaStep.cpp -Lsrc/agent/pgaStep.cpp -u -w -r1.11 -r1.12
--- src/agent/pgaStep.cpp
+++ src/agent/pgaStep.cpp
@@ -23,8 +23,8 @@
 #include "pgaSchedule.h"
 
 
-pgaStep::pgaStep(pgaJob *_job, const wxString& newName)
-: pgaJobObject(_job, PGA_STEP, newName)
+pgaStep::pgaStep(pgCollection *_collection, const wxString& newName)
+: pgaJobObject(_collection->GetJob(), PGA_STEP, newName)
 {
     wxLogInfo(wxT("Creating a pgaStep object"));
 }
@@ -72,8 +72,8 @@
     wxTreeItemId parentItem=browser->GetItemParent(item);
     if (parentItem)
     {
-        pgaJob *obj=(pgaJob*)browser->GetItemData(parentItem);
-        if (obj->GetType() == PGA_JOB)
+        pgCollection *obj=(pgCollection*)browser->GetItemData(parentItem);
+        if (obj->GetType() == PGA_STEPS)
             Step = ReadObjects(obj, 0);
     }
     return Step;
@@ -81,13 +81,13 @@
 
 
 
-pgObject *pgaStep::ReadObjects(pgaJob *job, wxTreeCtrl *browser, const 
wxString &restriction)
+pgObject *pgaStep::ReadObjects(pgCollection *collection, wxTreeCtrl *browser, 
const wxString &restriction)
 {
     pgaStep *step=0;
 
-    pgSet *steps= job->GetDatabase()->ExecuteSet(
+    pgSet *steps= collection->GetDatabase()->ExecuteSet(
        wxT("SELECT * FROM pgadmin.pga_jobstep\n")
-       wxT(" WHERE jstjobid=") + NumToStr(job->GetId()) + wxT("\n")
+       wxT(" WHERE jstjobid=") + NumToStr(collection->GetId()) + wxT("\n")
        + restriction +
        wxT(" ORDER BY jstid"));
 
@@ -96,9 +96,9 @@
         while (!steps->Eof())
         {
 
-            step = new pgaStep(job, steps->GetVal(wxT("jstname")));
+            step = new pgaStep(collection, steps->GetVal(wxT("jstname")));
             step->iSetId(steps->GetLong(wxT("jstid")));
-            step->iSetDatabase(job->GetDatabase());
+            step->iSetDatabase(collection->GetDatabase());
             step->iSetDbname(steps->GetVal(wxT("jstdbname")));
             step->iSetCode(steps->GetVal(wxT("jstcode")));
             step->iSetEnabled(steps->GetBool(wxT("jstenabled")));
@@ -131,7 +131,7 @@
 
             if (browser)
             {
-                job->AppendBrowserItem(browser, step);
+                collection->AppendBrowserItem(browser, step);
                                steps->MoveNext();
             }
             else
Index: pgaJob.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaJob.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lsrc/agent/pgaJob.cpp -Lsrc/agent/pgaJob.cpp -u -w -r1.10 -r1.11
--- src/agent/pgaJob.cpp
+++ src/agent/pgaJob.cpp
@@ -16,6 +16,7 @@
 #include "pgAdmin3.h"
 #include "misc.h"
 #include "pgObject.h"
+#include "pgCollection.h"
 #include "pgDatabase.h"
 #include "pgaAgent.h"
 #include "pgaJob.h"
@@ -60,11 +61,18 @@
         expandedKids=true;
 
         RemoveDummyChild(browser);
+
         // Log
         wxLogInfo(wxT("Adding child objects to Job."));
+        pgCollection *collection;
 
-        pgaStep::ReadObjects(this, browser);
-        pgaSchedule::ReadObjects(this, browser);
+        // Schedules
+        collection = new pgCollection(PGA_SCHEDULES, this);
+        AppendBrowserItem(browser, collection);
+
+        // Steps
+        collection = new pgCollection(PGA_STEPS, this);
+        AppendBrowserItem(browser, collection);
 
     }
 
Index: dlgSchedule.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/dlgSchedule.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -Lsrc/agent/dlgSchedule.cpp -Lsrc/agent/dlgSchedule.cpp -u -w -r1.13 -r1.14
--- src/agent/dlgSchedule.cpp
+++ src/agent/dlgSchedule.cpp
@@ -119,7 +119,7 @@
 {
     wxString name=GetName();
 
-    pgObject *obj=pgaSchedule::ReadObjects(job, 0, wxT("   AND jscid=") + 
NumToStr(id) + wxT("\n"));
+    pgObject *obj=pgaSchedule::ReadObjects(collection, 0, wxT("   AND jscid=") 
+ NumToStr(id) + wxT("\n"));
     return obj;
 }
 
Index: pgaAgent.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaAgent.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lsrc/agent/pgaAgent.cpp -Lsrc/agent/pgaAgent.cpp -u -w -r1.10 -r1.11
--- src/agent/pgaAgent.cpp
+++ src/agent/pgaAgent.cpp
@@ -116,7 +116,7 @@
 
     if (!exists.IsNull())
     {
-        agent = new pgaAgent(_("pgAgent"));
+        agent = new pgaAgent(_("pgAgent Jobs"));
         agent->iSetDatabase(database);
 
         if (browser)
Index: pgaStep.h
===================================================================
RCS file: /projects/pgadmin3/src/agent/include/pgaStep.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -Lsrc/agent/include/pgaStep.h -Lsrc/agent/include/pgaStep.h -u -w -r1.8 
-r1.9
--- src/agent/include/pgaStep.h
+++ src/agent/include/pgaStep.h
@@ -17,6 +17,7 @@
 
 // App headers
 #include "pgAdmin3.h"
+#include "pgCollection.h"
 #include "pgConn.h"
 #include "pgObject.h"
 #include "pgaJob.h"
@@ -27,12 +28,12 @@
 class pgaStep : public pgaJobObject
 {
 public:
-    pgaStep(pgaJob *job, const wxString& newName = wxT(""));
+    pgaStep(pgCollection *collection, const wxString& newName = wxT(""));
     ~pgaStep();
 
     int GetIcon() { return PGAICON_STEP; }
     void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView 
*properties=0, ctlSQLBox *sqlPane=0);
-    static pgObject *ReadObjects(pgaJob *job, wxTreeCtrl *browser, const 
wxString &restriction=wxEmptyString);
+    static pgObject *ReadObjects(pgCollection *collection, wxTreeCtrl 
*browser, const wxString &restriction=wxEmptyString);
     pgObject *Refresh(wxTreeCtrl *browser, const wxTreeItemId item);
     bool DropObject(wxFrame *frame, wxTreeCtrl *browser);
 
Index: pgaSchedule.h
===================================================================
RCS file: /projects/pgadmin3/src/agent/include/pgaSchedule.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -Lsrc/agent/include/pgaSchedule.h -Lsrc/agent/include/pgaSchedule.h -u -w 
-r1.9 -r1.10
--- src/agent/include/pgaSchedule.h
+++ src/agent/include/pgaSchedule.h
@@ -17,6 +17,7 @@
 
 // App headers
 #include "pgAdmin3.h"
+#include "pgCollection.h"
 #include "pgConn.h"
 #include "pgObject.h"
 #include "pgaJob.h"
@@ -29,12 +30,12 @@
 class pgaSchedule : public pgaJobObject
 {
 public:
-    pgaSchedule(pgaJob *job, const wxString& newName = wxT(""));
+    pgaSchedule(pgCollection *collection, const wxString& newName = wxT(""));
     ~pgaSchedule();
 
     int GetIcon() { return PGAICON_SCHEDULE; }
     void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView 
*properties=0, ctlSQLBox *sqlPane=0);
-    static pgObject *ReadObjects(pgaJob *job, wxTreeCtrl *browser, const 
wxString &restriction=wxEmptyString);
+    static pgObject *ReadObjects(pgCollection *collection, wxTreeCtrl 
*browser, const wxString &restriction=wxEmptyString);
     pgObject *Refresh(wxTreeCtrl *browser, const wxTreeItemId item);
     bool DropObject(wxFrame *frame, wxTreeCtrl *browser);
 
Index: pgObject.h
===================================================================
RCS file: /projects/pgadmin3/src/include/pgObject.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -Lsrc/include/pgObject.h -Lsrc/include/pgObject.h -u -w -r1.63 -r1.64
--- src/include/pgObject.h
+++ src/include/pgObject.h
@@ -62,8 +62,8 @@
 
     PGA_AGENT,
     PGA_JOB,
-    PGA_STEP,
-    PGA_SCHEDULE,
+       PGA_SCHEDULES,          PGA_SCHEDULE,
+    PGA_STEPS,                 PGA_STEP,
 
     SL_CLUSTERS,        SL_CLUSTER,
     SL_NODES,           SL_NODE,
Index: pgCollection.h
===================================================================
RCS file: /projects/pgadmin3/src/include/pgCollection.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -Lsrc/include/pgCollection.h -Lsrc/include/pgCollection.h -u -w -r1.16 
-r1.17
--- src/include/pgCollection.h
+++ src/include/pgCollection.h
@@ -19,6 +19,7 @@
 #include "pgAdmin3.h"
 #include "pgObject.h"
 #include "pgSchema.h"
+#include "pgaJob.h"
 
 class pgServer;
 class pgDatabase;
@@ -30,6 +31,7 @@
     pgCollection(int newType, pgServer *sv);
     pgCollection(int newType, pgDatabase *db);
     pgCollection(int newType, pgSchema *sch);
+       pgCollection(int newType, pgaJob *jb);
     ~pgCollection();
     virtual bool IsCollection() const { return true; }
     virtual bool IsCollectionForType(int objType) { return GetType() == 
objType-1; }
@@ -37,6 +39,7 @@
     pgServer *GetServer() const { return server; }
     pgDatabase *GetDatabase() const { return database; }
     pgSchema *GetSchema() const { return schema; }
+       pgaJob *GetJob() const { return job; }
 
     int GetIcon();
     void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView 
*properties=0, ctlSQLBox *sqlPane=0);
@@ -50,6 +53,7 @@
     pgServer *server;
     pgDatabase *database;
     pgSchema *schema;
+       pgaJob *job;
 };
 
 
Index: pgObject.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgObject.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -Lsrc/schema/pgObject.cpp -Lsrc/schema/pgObject.cpp -u -w -r1.78 -r1.79
--- src/schema/pgObject.cpp
+++ src/schema/pgObject.cpp
@@ -81,8 +81,10 @@
 
     {__("Agent"), PGAICON_AGENT, 0, 0},
     {__("Job"), PGAICON_JOB, __("New Job"), __("Create a new Job") },
-    {__("Step"), PGAICON_STEP, __("New Step"), __("Create new Step") }, 
+       {__("Schedules"), PGAICON_SCHEDULE, 0, 0},
     {__("Schedule"), PGAICON_SCHEDULE, __("New Schedule"), __("Create new 
Schedule") },
+       {__("Steps"), PGAICON_STEP, 0, 0},
+    {__("Step"), PGAICON_STEP, __("New Step"), __("Create new Step") }, 
     
     {__("Replication"), SLICON_CLUSTER, __("New Slony-I Cluster"), __("Create 
new Slony-I Replication Cluster") },
     {__("Slony-I Cluster"), SLICON_CLUSTER, __("New Slony-I Cluster"), 
__("Create new Slony-I Replication Cluster") },
Index: pgCollection.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgCollection.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -Lsrc/schema/pgCollection.cpp -Lsrc/schema/pgCollection.cpp -u -w -r1.39 
-r1.40
--- src/schema/pgCollection.cpp
+++ src/schema/pgCollection.cpp
@@ -36,6 +36,9 @@
 #include "pgIndex.h"
 #include "pgRule.h"
 #include "pgTrigger.h"
+#include "pgaStep.h"
+#include "pgaSchedule.h"
+#include "pgaJob.h"
 #include "slCluster.h"
 
 
@@ -44,6 +47,7 @@
 : pgObject(newType, typesList[newType].typName)
 { 
     wxLogInfo(wxT("Creating a pgCollection object")); 
+       job=0;
     schema=0;
     database=0;
     server= sv;
@@ -54,6 +58,7 @@
 : pgObject(newType, typesList[newType].typName)
 { 
     wxLogInfo(wxT("Creating a pgCollection object")); 
+       job=0;
     schema=0;
     database=db;
     server= database->GetServer();
@@ -64,11 +69,21 @@
 : pgObject(newType, typesList[newType].typName)
 { 
     wxLogInfo(wxT("Creating a pgCollection object")); 
+       job=0;
     schema = sch;
     database = sch->GetDatabase();
     server= database->GetServer();
 }
 
+pgCollection::pgCollection(int newType, pgaJob *jb)
+: pgObject(newType, typesList[newType].typName)
+{ 
+    wxLogInfo(wxT("Creating a pgCollection object")); 
+       job = jb;
+    schema=0;
+    database = job->GetDatabase();
+    server= database->GetServer();
+}
 
 pgCollection::~pgCollection()
 {
@@ -121,6 +136,8 @@
         case PG_USERS:
         case PG_GROUPS:
         case PG_TABLESPACES:
+               case PGA_STEPS:
+               case PGA_SCHEDULES:
             return GetServer()->GetSuperUser();
         case PG_DATABASES:
             return GetServer()->GetCreatePrivilege();
@@ -178,6 +195,8 @@
         case PG_INDEXES:            return PGICON_INDEX;
         case PG_RULES:              return PGICON_RULE;
         case PG_TRIGGERS:           return PGICON_TRIGGER;
+               case PGA_STEPS:                         return PGAICON_STEP;
+               case PGA_SCHEDULES:                     return PGAICON_SCHEDULE;
         case SL_CLUSTERS:           return SLICON_CLUSTER;
         default:    return 0;
     }
@@ -280,6 +299,12 @@
             case PG_TRIGGERS:
                 pgTrigger::ReadObjects(this, browser);
                 break;
+                       case PGA_STEPS:
+                               pgaStep::ReadObjects(this, browser);
+                               break;
+                       case PGA_SCHEDULES:
+                               pgaSchedule::ReadObjects(this, browser);
+                               break;
             case SL_CLUSTERS:
                 slCluster::ReadObjects(this, browser);
                 break;
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to