]> git.sur5r.net Git - openldap/commitdiff
updates to gtk-tool, new functionality, uses config cn
authorPredrag "Pele" Balorda <pele@openldap.org>
Mon, 30 Nov 1998 00:01:14 +0000 (00:01 +0000)
committerPredrag "Pele" Balorda <pele@openldap.org>
Mon, 30 Nov 1998 00:01:14 +0000 (00:01 +0000)
contrib/gtk-tool/ChangeLog
contrib/gtk-tool/Gtk_LdapItem.h
contrib/gtk-tool/Gtk_LdapServer.h
contrib/gtk-tool/Gtk_LdapTreeItem.cc
contrib/gtk-tool/Makefile
contrib/gtk-tool/My_Window.cc
contrib/gtk-tool/My_Window.h
contrib/gtk-tool/main.cc

index dbd38b36de5fc1b5b98fe27155853bd724e64fd3..097ae5670750ee9ed6c33ae8301e9be4a4efe2f6 100644 (file)
@@ -1,5 +1,15 @@
 ChangeLog for gtk-tool
 
+29/11/1998 - Pele
+       * Added Gtk_LdapServer class
+       * Started using cn=config, ldap_get_option (not sure about get_option
+       though, cn=config looks much nicer for the future-proofing)
+       * Can traverse, display and serve two (or possibly/hopefully) more
+       databases on the local machine - remote machines also possible - 
+       need to use "-s hostname"
+       * The program needs the "-s" switch! Without it it won't run (temporary
+       "feature")
+
 28/11/1998 - Pele
        * Fixes, enhancements, started using ldap utility api
        * It now traverses the whole tree at startup, not sure if it's smart
index 8d63a1498a1ede13e4fb187380ac327ad987f65d..73c1a7cd145337361d03a0f9d8fdf857311e2e84 100644 (file)
@@ -9,5 +9,9 @@ class Gtk_LdapItem {
 public:
        Gtk_Tree *tree;
        Gtk_LdapTreeItem *treeitem;
+       G_List<gchar> *value_list;
+       char *attribute_name;
+       G_List<Gtk_LdapItem> *attribute_list;
+       char *entry_name;
 };
 #endif
index a80dc9fe04be034d5c26ef3b6d6e5efe6960a2cf..21c1a1ef4b52e37f61e7ef7da6b7e938a6e0eaf7 100644 (file)
@@ -2,7 +2,7 @@
 #define GTK_LDAPSERVER_H
 #include "gtk.h"
 #include <My_Window.h>
-#include <LdapOpts.h>
+/*#include <LdapOpts.h>*/
 #include <Gtk_LdapItem.h>
 #include <Gtk_LdapTreeItem.h>
 #include <lber.h>
index 7efcb58d6c408ce2e0d57a14a828ac86950eb4b3..5a44bd3ef019570561a620a269113c2c7032eabf 100644 (file)
@@ -20,7 +20,7 @@ Gtk_LdapTreeItem::~Gtk_LdapTreeItem() {
 }
 
 void Gtk_LdapTreeItem::setType(int t) {
-       cout << "Gtk_LdapTreeItem::setType(" << t << ")" << endl;
+//     cout << "Gtk_LdapTreeItem::setType(" << t << ")" << endl;
        Gtk_Pixmap *xpm_icon;
        Gtk_Label *label;
        if (this->getchild() != NULL) {
@@ -46,7 +46,7 @@ void Gtk_LdapTreeItem::setType(int t) {
 }
 
 int Gtk_LdapTreeItem::showDetails() {
-       cout << "Gtk_LdapTreeItem::showDetails()" << endl;
+//     cout << "Gtk_LdapTreeItem::showDetails()" << endl;
        if (this->notebook != NULL) {
                if (par->viewport->getchild() != NULL) {
                        par->viewport->remove_c(par->viewport->getchild()->gtkobj());
@@ -58,10 +58,11 @@ int Gtk_LdapTreeItem::showDetails() {
        }
        else this->getDetails();
        this->showDetails();
+       return 0;
 }
 
 int Gtk_LdapTreeItem::getDetails() {
-       cout << "Gtk_LdapTreeItem::getDetails()" << endl;
+//     cout << "Gtk_LdapTreeItem::getDetails()" << endl;
        int error, entriesCount;
        BerElement *ber;
        LDAPMessage *entry;
@@ -99,7 +100,7 @@ int Gtk_LdapTreeItem::getDetails() {
                }
        }
        this->setType(1);
-       cout << ".";
+//     cout << ".";
        return 0;
 }
 void Gtk_LdapTreeItem::select_impl() {
index 65a52f157f2a35cc713f0a775d4f03a91f3234ed..9932f81945acd4adb7f4fb7f844165d232c7ee0a 100644 (file)
@@ -8,8 +8,8 @@ LIBS=-lXext -lgtkmm -lX11 -lXt -lXxf86dga
 
 .EXPORT_ALL_VARIABLES:
 
-SOURCES=       My_Window.cc Gtk_LdapTreeItem.cc main.cc
-OBJECTS=       My_Window.o Gtk_LdapTreeItem.o main.o
+SOURCES=       My_Window.cc Gtk_LdapTreeItem.cc Gtk_LdapServer.cc main.cc
+OBJECTS=       My_Window.o Gtk_LdapTreeItem.o Gtk_LdapServer.o main.o
 
 ################################################################################
 
index 6fbe8c45c954673a8e347555e1bcae5fe0fa6e64..cece9bdd8fcd90c0529ef25d329561907ad485df 100644 (file)
@@ -4,6 +4,8 @@ My_Window::My_Window(GtkWindowType t) : Gtk_Window(t) {
        cout << "My_Window(t)" << endl;
        Gtk_VBox *main_hbox;
        Gtk_HBox *top_hbox;
+       Gtk_Menu *menu;
+       Gtk_MenuItem *file_menu, *menuitem;
 
        pane = new Gtk_HPaned();
        this->scroller = new Gtk_ScrolledWindow();
@@ -21,6 +23,18 @@ My_Window::My_Window(GtkWindowType t) : Gtk_Window(t) {
        this->scroller2->show();
 
        top_hbox = new Gtk_HBox();
+       menu = new Gtk_Menu();
+       menuitem = new Gtk_MenuItem("Quit");
+       menu->append(*menuitem);
+       this->menubar = new Gtk_MenuBar();
+       file_menu = new Gtk_MenuItem("File");
+       file_menu->set_submenu(menu);
+       this->menubar->append(*file_menu);
+       menuitem->show();
+       menu->show();
+       file_menu->show();
+//     top_hbox->pack_start(*this->menubar, TRUE, TRUE, 1);
+       this->menubar->show();
        this->urlfield = new Gtk_Entry();
        top_hbox->pack_start(*this->urlfield, TRUE, TRUE, 1);
        this->urlfield->show();
@@ -30,6 +44,7 @@ My_Window::My_Window(GtkWindowType t) : Gtk_Window(t) {
        this->display_button->show();
 
        main_hbox = new Gtk_VBox();
+       main_hbox->pack_start(*this->menubar, FALSE, FALSE, 1);
        main_hbox->pack_start(*top_hbox, FALSE, TRUE, 1);
        main_hbox->pack_end(*pane, TRUE, TRUE, 1);
        top_hbox->show();
@@ -54,7 +69,7 @@ void My_Window::expand(Gtk_TreeItem *t) {
        g_print("%s selected\n", name);
 }
 
-gint My_Window::delete_event_impl(GdkEventAny *) {
+gint My_Window::delete_event_impl(GdkEventAny*) {
        Gtk_Main::instance()->quit();
        return 0;
 }
index f39091ef0aa6c1f8dccd86d539b963b664940ccb..93b86f8ec89864c258dbb1c96ecf80bb9e075ccc 100644 (file)
@@ -19,6 +19,7 @@ public:
        Gtk_Entry *urlfield;
        Gtk_Button *display_button;
        Gtk_Paned *pane;
+       Gtk_MenuBar *menubar;
        My_Window(GtkWindowType t);
        ~My_Window();
        void do_display();
index 44c8e41aa5e6307b393a927fefbadff2a5c4a9dd..d473ea01dfacc6afe2cb4a53027d2b76bdc628eb 100644 (file)
@@ -4,16 +4,15 @@
 #include <ldap.h>
 #include <My_Window.h>
 #include <Gtk_LdapItem.h>
-#include <Gtk_LdapTreeItem.h>
+#include <Gtk_LdapServer.h>
 
 int main(int argc, char **argv) {
        My_Window *window;
        Gtk_LdapItem *treeresult;
        Gtk_Tree *tree, *subtree;
-       Gtk_LdapTreeItem *treeitem;
+       Gtk_Tree *machine, *machinetree;
+       Gtk_LdapServer *treeitem;
        Gtk_Viewport *viewport;
-       LDAPMessage **thing;
-       LDAP *ld;
        char *host = NULL;
        char *base_dn = NULL;
        int c, port = 0;
@@ -33,30 +32,19 @@ int main(int argc, char **argv) {
                }
        }
 
-//     if (base_dn == NULL) base_dn = ldap_get_option(NULL, LDAP_OPT_BASE);
-       if (base_dn == NULL) base_dn = "o=University of Michigan, c=US";
+//     if (base_dn == NULL) base_dn = "o=University of Michigan, c=US";
        if (host == NULL) ldap_get_option(NULL, LDAP_OPT_HOST_NAME, host);
        //host = "localhost";
+       cout << host << endl;
        if (port == 0) port = LDAP_PORT;
 
        Gtk_Main m(&argc, &argv);
 
        window = new My_Window(GTK_WINDOW_TOPLEVEL);
 
-       if ((ld = ldap_open(host, port)) == NULL) {
-               perror("connection");
-       }
-
        tree = new Gtk_Tree();
-       treeresult = window->make_tree(window, ld, base_dn);
-       treeitem = new Gtk_LdapTreeItem(*treeresult->treeitem);
-//     treeresult->treeitem->setType(ROOT_NODE);
+       treeitem = new Gtk_LdapServer(window, host, port);
        tree->append(*treeitem);
-       if (treeresult->tree != NULL) {
-               subtree = new Gtk_Tree(*treeresult->tree);
-       //      cout << "Inserting " << base_dn << " into root" << endl;
-               treeitem->set_subtree(*subtree);
-       }
        treeitem->show();
        viewport = new Gtk_Viewport();
        viewport->add(tree);