Доброго времени суток!
Нужна помощь в реализации такого, казалось бы простого алгоритма, но уже второй день убит зря.

На примере imglikeopera расскажу, так будет понятнее.

упростим задачу. имеем только 2 состояния, показывать 1\не показывать 0 картинки.
допустим стоит не показывать. открываем браузер состояние 0, создаем множественное число новых табов, получаем везде 0.
Далее допустим мы переключили в одном из табов состояние на 1, и далее от этого таба должны создаваться все табы со статусом 1.

Но когда мы закрыли браузер, и снова его открыли должны снова получить дефолтное значение для всех табов 0.

реализация идет аналогично как в imglikeopera.

Спасибо за любые советы!

Но когда мы закрыли браузер, и снова его открыли должны снова получить дефолтное значение для всех табов 0.

Разве это проблема ? Такое поведение очень просто реализуется если вообще никак не сохранять состояние.

Далее допустим мы переключили в одном из табов состояние на 1, и далее от этого таба должны создаваться все табы со статусом 1.

а такое ?=)

При запуске присваиваем глобальной переменной 0, а при переключении ставим ей 1.

Нет вы похоже не поняли. Если было все так просто я бы сидел 2ое суток?:)

смотрите:
запускаем браузер, стоит статус 0, создаем табы, они тоже имеют статус 0, жмем на любой таб, меняем на нем статус, и все которые от него табы образуются должны быть со статусом 1.

Тогда надо отслеживать создание и удаление вкладок. Если вкладка создаётся из текущей, то, в свойство текущей вкладки, скажем, childList добавлять id вновь созданной, а в свойство ownerTab вновь созданной id родительской. При удалении список очищать, а при смене статуса менять статус по списку. Конечно, задача не очень простая в части отслеживания вкладок, но я думаю и не очень сложная. Может быть, придётся перекрывать некоторые методы tabbrowser'а, может быть нет.

а более гуманные способы есть?:)
создавать дерево с состоянием табов ИМНО не очень гуманно... хотя что-то тут есть...

Поподробнее посмотрел исходники imglikeopera нашел то что нужно.
всем спасибо за помощь, если будет интересно можно в личку писать.
Тему можно клозед