                                 (make-context objs attrs 
                                   (op inc [object attribute])))))))
 
-           change-attribute-name
-           (fn-doc "This function will change the name of the attribute in
-  the specified column to the new given name, if the new name does not conflict,
-  or otherwise to a conflict free new name; and returns the new name of the
-  attribute.
-
-  Parameters:
-    model-column   _column of the attribute in the model
-    req-name       _requested new attribute name"
-             [model-column req-name]
-             (dosync-wait
-               (let [ attribs (attributes (get-context @context))
-                      current-name (@attr-cols model-column)
-                      other-attribs (disj attribs current-name)
-                      new-name (req-unique-string other-attribs
-                                 req-name) ]
-                 (do
-                   (if (not= current-name new-name)
-                     (let [ amap (fn [x] (if (= x current-name) new-name x))]
-                       (dosync
-                         (commute context
-                           (fn [x] (let [as (conj (disj (attributes x) 
-                                                    current-name)
-                                              new-name)
-                                         os (objects x)
-                                         inc (map 
-                                               (fn [x] [ (first x) 
-                                                         (amap (second x))])
-                                               (incidence x))]
-                                     (make-context os as inc))))
-                         (commute attr-cols switch-bipartit-auto 
-                           model-column current-name
-                           model-column new-name))))                         
-                   new-name))))
 
            change-object-name
            (fn-doc "This function will change the name of the object in

      (fn [r c s] (ectx-cell-value-hook e-ctx editor r c s)))))

                   


(defn make-editable-context2

      (doseq [x setup] (unroll-parameters-fn-map widget x))
      widget )))

(declare change-attribute-name change-object-name change-incidence-cross)

(defn- ectx-cell-value-hook ;;TODO!!! ...
  [ectx editor row column contents]
